From: <Saved by Windows Internet Explorer 7>
Subject: Ruby on Rails on Oracle: A Simple Tutorial
Date: Fri, 9 May 2008 12:44:52 +0200
MIME-Version: 1.0
Content-Type: multipart/related;
	type="multipart/alternative";
	boundary="----=_NextPart_000_0000_01C8B1D2.79EF3EF0"
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3198

This is a multi-part message in MIME format.

------=_NextPart_000_0000_01C8B1D2.79EF3EF0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.oracle.com/admin/images/otn/otn_logo_small.gif

R0lGODlhkAAkANUAAP////f39+/v7+fn5//f3t7f3u/Txs7X1szMzP+6vcbDxr2+vbW2tfehiq2u
raWmpZmZmf95e4yKjISGhHN9c3t5e/9NSmtxc2ZmZv8zM1pZWlJRUv8cGEJBQjk8Of8AADMzMyko
KSEcIRgUGBAMEAgECAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAQUAP8ALAAAAACQACQAAAb/QIBw
SCwajYGEcsk0FAnMqJJwHBoS1CoAKl0Grgnts+uFOsXodLqR+bjfcI4lLLTA7+5MI3BM5LNPERx4
bxkBbRxpARFthB8cBhEfFmqVlkIBdo53HA1CkptvEUiNH6NPpY5UdoliBKmECZkcGZe2aKAcEQS8
vbwJmh9hkhxYvrwNgxyAn3d0Q40ZxsdZrGiaetS8Qgl6t99GBMrMfW4Wi4/kQw1uzwB+H3p5fM2T
9FrWWvDn4P2X7B88pQFFgJg6bu2GHEoI6hQARAeL5KuiqYGBixgzRvRny6AaeAkMauv26AyAhkJe
uXGykFKaiUcacZhJs2Yxjjg9poHXwKAg/5uihiQYZEhoHgAt1cAssjCUPZwcAbrTQtAjqDgu67iJ
kNFAI09tar18JEZThAZo06bdCLUSvKJihsZDt0wIwHgN3AG0cJVTwa1jW1XZ27awEVDZtBUcFPBk
unWMHW4Z99CRBZWmplHLlE4xr0ZzPN8zfKnpI5s0gzquK5QxPwAVMXX12g7eadS0CGjCTZNrKd43
Sd9axHhTpyE6rUQjABDuEQNuOHzJUBzPqGCbwuiufier8FvMI4gfP34PkZDmA4lP0JMrmpDu35Gf
LyTS/Pnu7N+PMPq7//8ABijggAQWaOCBCCao4IIMNuigcAs4wMCEFFZo4YUYZqjhhhx26P/hhyCG
OKEDBzxo4okopqjiiiy26OKLMMYo44xtPSDBjTc+gAAEOEqgAAADSIDBBQ/wYeMAAAgAAQQCKHBj
iQAwIIEAQjxwAQYSQOkklEMsUAEGEzhAxAITYEABkwDwiIAQCEiwphAF8LiAEAtIMICTOEJwAI89
PsAjkgVI8ACVdRYAwAFlnkllmnmWeIAEYqY5AZQlmGCppSRMUOmlFAzQgQmbXiCACCYwAEABlh5w
gaUdCLGBCQMIoIGllYrwIwYmTEDEAySY0GuuQkDQ66YdDDBrBwEEQKqpQjhgqQiGzsoArpeaAEG1
lo4QggkPAFCBpWt+usAB2266AZLYhnD/wAMmeAAABSaIAGUBB3yrwQEFMEBCsQPEKoEJxS7Q6wEg
mDCnACOQUEAFJVQ656wDsAvCAQNMYAII71o7hAC9QnBnrwsIUKmdBBs8QMMRmqABEQ78qiuuC8CL
Qb+xHnDApxXg+6+un3KrbAiemnDBACVDAEC7NhcMAQMqL+Arl8GagAGd+9p8QACvdguAAxMMoDQC
+ipMQQkYjODurAXMavSp2x4A79oAsOuuEKsKCjA9ByyA5KoagFDCnEO03EEIIgywasxSWz3Eq2sr
IDXHCV9wgNQnQ1ulCRsI0G4BnpbwgLMigEAC4ERcOzUAAldbMrNDFFztCAXAy8CsDuB6/4AHJkQK
gLjfwm1xq1FX8O/UCww59KG/blCEA2T/C8Hh8Fa7uMankgCCsBd4EILzJ4ewKAKYnwxqpRsEwC6r
R5hO9fVLDoA7swIUEEDBF0AwAQlilwp+B7a/GqkAuPMS9QDwL+ABwGIVsNjKILApwK2KBG8KHNkK
MIIRzApxG1iS1gDAOCEIoAMl8IC8cLUBEiigACUAmhAcV6wSjAADuOqAANgVAtzBbQjqQx0JlDcE
XFUASB2QV8F+hLD8dcsDLoSVxU63gIYJ4G1dipehAoA7HV1MfjczwY90SAIjMG9luAIZvHRVhA4K
4VsmCMEBQQWCZJGgBMyCFwUCcDcAFP8sZRpgGgSLkEM9wlADC2hirl5VuG2Z6mQlUBW3onQpolXq
AhIYgQkoAIBVgQADGpgA1tr1gE95AEmfYp8kAaeAhnkRc8izFANWJQIYYmCLn5JA4Cy1Mmeh0lvx
EhKoftQuPszqAexq1atUGDgPyBIACNiAB0DATKNBAAQV9MDDPLCmAWygWBCQJlIw4IFPbq0DCQvB
BfiQzWVeUgADwIAISCCCDbzJmiKooAg8AKUDbICHRFBAB8hIgW7uqJvMBEEcPaA7exIUSMrcIAVE
Z7ZIeWCcafLAAxbwUCB64IZJukcABMBRAdBjAAi4GiY0So9FedCkh0KAoTbW0XscIKQkRrDaAVCa
rCPU9KRI6ShHFXLTkfK0CCCd6cbu4dFk0WOjVAoCADs=

------=_NextPart_000_0000_01C8B1D2.79EF3EF0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://oracleimg.com/admin/images/sitefinder/oracle_websites_button.gif

R0lGODlhZQASAPcAAP///7Ozs+3t7e7u7vHx8e/v7/Ly8vT09Pv7+/r6+v7+/v39/fj4+Pb29gAA
ALS0tLe3tyEhIUNDQ/8AABERETIyMv5DQ7i4uIeHh/66uoaGhv8RESIiIvy4uISEhP6Hh/4hIfuE
hPyFhf4yMuzs7IWFherq6tfX18rKyvmkpHR0dFRUVP5lZZiYmP9ERP2Ghra2tnNzc4ODg2ZmZhAQ
EDExMenp6ZSUlP1CQvvq6v9mZv7t7ftiYvu3t4GBgWNjY/8zM/8iIsbGxqSkpLq6usvLy/jn59PT
00JCQoKCgnZ2dlJSUkFBQf3s7Ovr67+/v/nGxv4QEP1kZPezs/0xMdvb2/fm5vmCgvqDg9XV1f6p
qXV1dZWVlaWlpfiBgeTk5NLS0peXl+bm5qenp/1TU/jFxb29vff39+Li4jMzM7W1tVFRUaOjo/fV
1fxBQWFhYftzc1NTU/ahofyWliAgIGJiYvynp0RERPzJyfqlpZaWlvPi4vwwMJGRkampqfqUlPrp
6f3b28jIyNzc3Pn5+fDw8PXk5NnZ2fx0dPq2tvxjY/phYdra2lVVVWRkZAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAABlABIA
AAj/AJ88CECwoMGDCBMqXMiwocOHCc08MCGgosWLGDNq3Mixo8ePIDXCeOBkgMmTKFOqXMmypcuX
MGOuHOmkgM2bOHPq3Mmzp8+fQIPuhPBAAIGjSJMqXcq0qdOnUKNKZUp0gIGrBvYsijKBjxysYMOG
9eJFLFYwdLAycYD1TZ+wPnyYxcoWjdy5ePESLXSg7wE3PAwdmBJlit/DiA9fuZL4cIQjB77QWMOm
72PESZI0RhyAyebPoIkaaEA6BRXSpU/D4TEhxR8QE0C0aZACNg4rWLA0KAObhxXUDWLcaHBjiYw6
DbLUCO4gwpAGMpZEoCGjgRgkDmpkaYCkQQ0aw2M0/3/O3DlwB+jTOwBO9ACD9yFCvJ8/gQEOREaM
jIDCgIz8DYkYgUMe8TEAAn+KyDdfFyow8AMXJ0TAAIMe/MCAEBJ6EMEJEQrhQYMqwMCAAwx4UMEJ
FV4oIQwVMMCFB/O9px6JMRLVQAI4iiACjjxOkIAFPeAIyBwigCBCDxbwmICOPWxggQUjJMmjDRUk
QMEhCUQgyBZjSFCBBBJQAEEJJeBIJgQOxKEHjg4kAIEECXgJppg2UFBBCTYoySZ6err5wBkIBNrB
CIEGagehFnSAQA4bSPGCox1YEGgOObzwwqAdZIpHoYFWcEEFgW6hQQUmSKDBBaiaoIEGga6KACMa
RP3gCAIOIHCBBAiYiuoFJiBgQhgSRMBpobUOiwBRhCyg7AIWsNDEAhlskAGz02YARBOBAPHBAtIu
wAILH2zbLbjLKquEBBgoS4QEaSyAwQokoMABCRhwUEUVHKCgRLrvLuDAAuu6C6+8JPgxMAXlJqww
UQko4LACO+iwwQRAaOGwCxlcPEEQOuigQAZBTODCDuEqoEXIIz/sMBEOFPEwBRgoIMAMDlDQggIY
NMKBzQoUwYEDHLjsgAKDUDDDzDXfLMAdSavs9NNEIQDA1FRXbfXVWGet9dZcd+011lF/LfbYZJdd
dthmp6322mKjzfbbcL8NgUAQ1W333XjjrUZAADs=

------=_NextPart_000_0000_01C8B1D2.79EF3EF0
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
Content-Location: http://www.oracle.com/admin/images/20px_search.jpg

/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAZAAA/+4ADkFkb2JlAGTAAAAAAf/b
AIQAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQICAgICAgICAgIC
AwMDAwMDAwMDAwEBAQEBAQECAQECAgIBAgIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMD
AwMDAwMDAwMDAwMDAwMDAwMD/8AAEQgAFAAVAwERAAIRAQMRAf/EAIQAAQADAQAAAAAAAAAAAAAA
AAgDBAkKAQADAQEAAAAAAAAAAAAAAAACAwQBABAAAAUCBAQGAQUAAAAAAAAAAgMFBgcBBBESFggA
FBUYITETIxcZJkEzJCUnEQABAwIDBgUFAAAAAAAAAAABABECEgNBsRMxUWKiMxQhciNjJIGRodFS
/9oADAMBAAIRAxEAPwDqLk+ZIz2+7boBd/we25XkyZ0aJGbFUfpjSZoVmQJCdLGR1u7AoLimkHDt
bMi25i9vrw2pgwgpWvjWvBzMhMhztKnt2rRtxJjEmkYDcqe36eRuuaA7cNzuzSNIBmBeZqtIEddE
KZr+Zj7bjdPLLctunLgWymH2q+gFXBRh5AyahqCta0r5VqNUt5TNGz/MfsEwr1HQ7GQW1FwUdMMZ
TnaD4eBrTNtwVbloqsRZj1Dtz7JGDQNgG2UbeRTa3VsMsVoI+1t7gBYT6DMGTmmrEHN/0gMICQts
KCCWw8Gw+qJqptsWd0Wy3ZI4GK96R1MMRx/t9maHntcJpawlJjtKiNvWF1arqYZUI75EWke/Otrg
IB0HkHjTHxpXbvhdkOI5o7XSj5Rkj05oy38xLuUhPeXOyVHe5axZtqvw6rx3t7b64grEatGUD05O
U5Jaac5Lo09zX4LkoqqsQcZSobQPtVCEOIFpi1Acogl7rYWT8w8t5AG55SyZB+pUKbIe0Ur9rDPU
wNFbDLhjmrhwwdKR4o5SSz1Y+WWcVl9tP+5/ta20/H31gaB7f4Y0Przut1xo/wCOW3pfWXQP6LVf
RPQ6jyX8Tm/U9H28vFd3stSVWrVUXaltqntdzpxp06aQzvsZIEP3n+GH1K4+Pl3h4+dMcP1xzefC
/ge9yo/l+3zKKvfXlBzfwL9hOc3oHUet9nfbx7Or9H+t/tOmNVdD1Jy35jrHofM/i/Kcd6HF2/M+
W9sGfFb6r4a34bPc+Ltgv//Z

------=_NextPart_000_0000_01C8B1D2.79EF3EF0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://oracleimg.com/admin/images/spacer.gif

R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==

------=_NextPart_000_0000_01C8B1D2.79EF3EF0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://oracleimg.com/admin/images/horznav_shortcuts.gif

R0lGODlhWQAfAOYAAO8AAPMAAPgAAPwAANsAANIBAc4BAdYBAeTk5OHh4c4AAdIBAPf39/X19d7e
3u/v79YAAdYBAOzs7P9EROjo6OXl5f9mZs4BAOLi4v/MzP8zM+VERN/f39IAAdIAAP+qqs4AAPrd
3dYAAPzu7vnd3dra2tfX1+AiIuRnZ+JnZ+ZmZ/8REf8iIv3u7uqIiPS7u90REeJnZvOqqulmZtXV
1dkSEv93d+ZnZuZnZ+uZmdtFRP/u7uFVVvjd3ds0NP+ZmdEREdkSEdUiItESEex3d+RVVt5WVt40
NP/d3dgzNPGqqvfMzOl3d9TU1OIzM/+7u9USEdg0M9giIt7d3tkREel4d9gjI95WVdUjI940M+Rn
ZtgjIuFERN3e3vjMzORWVt5ERP+IiNUiI+RmZ+oAAOUAAOAAAO7u7uvr6+np6fb29vDw8Pr6+ufn
5/T09Nzc3PLy8v///8zMzP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5
BAAAAAAALAAAAABZAB8AAAf/gHOCg4SFhoeIiYqLjI2Oj5CRkpOUlZaXmJmahE2bnp+DNDSUcROR
po6oniaspBaQGnGOsZ8ltiWPH3Fxr3EZuzaCEzu+LHMTcR8Zc7txLBpIcT+Cpcymzca6vJVv3d2p
cSsWy9JzYbJzO8EfT3MWu8u0cxkfK3EazL2v8sjiy5McAgq8oACEAQUKDBg8eMGgkBE9cgAxECeF
ghhxFOiIM8SAkYwYdRgwECUjxSsgsIysqKCigSRxDFwQA1HiQYMKLlwYmRDhToYGMAgdiqHAggIe
CiBVuiCpUg9bXJAgsSAOigJj4iwAEwdKAR5xOqCIo7SDD61VeXhYYKWAVbda/wqcZSpFKtUOSgt0
WLDX6IKjZQtUGEx4cAQIBw4cjpAYMQQRB77ECXIjjog4OCDgiHOAyggmB168gKCC8wEIRyZDWKLk
QJURB+Ko4CL7QJY4NSIUwV1Z8QERjE9DYAycMWMKyJMnJ8C8ufPnMnbNIBBnA4ENcZhvaBHHy4nr
2ZnDCBHnhBPuIawTiUPe+vjyBKLHmf68vnMJ+PPrN8O/v///AAYo4IAEFmjgAwgmqOADZTTo4IMQ
RijhhBRWaKGFcGSo4YYZkuHhhyCGKOKIJJZo4okmNqDiiiyuCMCLMMYo44w01mjjjTjayMCOPPbY
YwBABinkkEQWaeSRSCZp5OYUDjTp5JNNduGAAFRWaeWVWGap5ZZcdpllAmCGKeaYCQxg5plopqnm
mmy26eabaiIg55x01ilnG3jmqeeefPbp55+ABipooGkUauihiCaq6KKMNuroo46iIemklFZq6aWY
ZqrpppxuesanoIYq6qiklmrqqaimiuoarLbq6quwxirrrLTWamutHOaq66689urrr8Du6sawxBZr
7LHIJqvsssw2y6wa0EYr7bTUVmvttdhmq222cnTr7bfghivuuOSWa+655rKh7rrstuvuu/DGK++8
9M7rzb345qvvvvz26++/AL8RCAA7

------=_NextPart_000_0000_01C8B1D2.79EF3EF0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://oracleimg.com/admin/images/horznav_divider.gif

R0lGODlhAQAfAMQAAPr6+s3NzeTk5PHx8dHR0ejo6NjY2NLS0tbV1uzs7M/Pz9PT0+Dg4NDQ0M7O
ztzc3P8AAMzMzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAA
AAAALAAAAAABAB8AAAUVIARFZGkGjtMcCrEgxsMIRTJEwBMCADs=

------=_NextPart_000_0000_01C8B1D2.79EF3EF0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://oracleimg.com/admin/images/tools_corner.gif

R0lGODlhFAAUALMAAPPz8/X19fT09PLy8vHx8fDw8PPy8/f39/n5+fb29vj4+Pr6+vv7+/z8/Nzc
3AAAACH5BAAAAAAALAAAAAAUABQAAARS0MlJay02W0K0d0P4ZYABAGN1rukkvHDrBHQdtEmu5+nu
j4egcPhRGI9IhSfJVGYQ0Kg0mllYr1isJcvVUhjgsHjM+JLP4UljzW672ZK3/O2IAAA7

------=_NextPart_000_0000_01C8B1D2.79EF3EF0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://oracleimg.com/admin/images/print_button.gif

R0lGODlhEwAQAMQUAP///7y8vM3NzfLy8vn5+ero6Orp6bu7u+Xi4vj4+NXU1NHS0Ovp6fz8/PPz
89LT0fv7+9LS0eTi4s7Ozv///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA
ABQALAAAAAATABAAAAV2ICVSQXCUJhqMLAm8MLy2YgAoQj4JCjDTtljsR1LdcsjeKRUELISx56sE
y0UED8FCm5MdhBBAQ0weBgjodIKwZrPbpcHAIa/X6fYSo1BALVUBBXslCIVNUAGFEoAFUDB9KCMB
Bo4vBkQ1BQaCBp2bmphFgKMjIQA7

------=_NextPart_000_0000_01C8B1D2.79EF3EF0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://oracleimg.com/admin/images/tools_divider.gif

R0lGODlhAQAUAIAAANzc3KenpyH5BAAAAAAALAAAAAABABQAAAIHhHOhi9BQAAA7

------=_NextPart_000_0000_01C8B1D2.79EF3EF0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://oracleimg.com/admin/images/email_button.gif

R0lGODlhEwAQAMQQAP///7y8vOrp6ero6LO2t/n5+fLy8s3NzbS2t7O2tuvp6fPz8/j4+LO1tvby
8tLS0f///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA
ABAALAAAAAATABAAAAVoICSOZGmeqBisbOu6ByDPdH2sAlHvMiGsgEGCR/MBgEEEEZAQyJBJXnMG
HRx0tMZjQA3IBrrczGg8BgpgRqGQSyAG64KvsBogHIaFwSDo7/MGPisHA4UKAoUCCgoDiIg3L5Ev
KZSVKCEAOw==

------=_NextPart_000_0000_01C8B1D2.79EF3EF0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://oracleimg.com/admin/images/addthis_button.gif

R0lGODlhEAAQANUgAP+XdczMzP////n5+enp6evr6/z7+97e3u/u7vf29ufn5/Lx8fTz8+Dg4Orq
6tjY2OPj49zc3OHg4Obm5v79/ejo6OTj4+zs7PPy8tvb2+rr6+/v7+zr69bW1uLi4u3t7f///wAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAACAALAAAAAAQABAAAAZ0QBAo
QCwaicKhYclsUiyB4WBKrVI3xIQWwO1ytR8ig+EtAxgc4mLhFQi8CwcRgWi/u4jKvA5w++8YEkQH
B1x/blwND0QREXZeBx2DhV2IXYpEEBBmXhMZRAqhnAAKDgdEBKmqq6kXp0MaBbKztB5RQke5t0EA
Ow==

------=_NextPart_000_0000_01C8B1D2.79EF3EF0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.oracle.com/portalimages/pobtrans.gif

R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAQAICRAEAOw==

------=_NextPart_000_0000_01C8B1D2.79EF3EF0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.oracle.com/admin/images/ocom/spacer.gif

R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==

------=_NextPart_000_0000_01C8B1D2.79EF3EF0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://oracleimg.com/admin/images/ocom/bullet_5x5.gif

R0lGODlhBQAFAIAAAP8AAP///yH5BAAAAAAALAAAAAAFAAUAAAIGjA+JC3cFADs=

------=_NextPart_000_0000_01C8B1D2.79EF3EF0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.oracle.com/admin/images/otn/r_arrow.gif

R0lGODlhCgAKAJECAP////8AAP///wAAACH5BAEAAAIALAAAAAAKAAoAAAIVlI+pBgGgmoPnhUvZ
3cjiJD3gtCgFADs=

------=_NextPart_000_0000_01C8B1D2.79EF3EF0
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
Content-Location: http://www.oracle.com/technology/pub/images/haefel_ruby_f1.jpg

[encoded data, 98416 characters]

------=_NextPart_000_0000_01C8B1D2.79EF3EF0
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
Content-Location: http://www.oracle.com/technology/pub/images/haefel_ruby_f2.jpg

[encoded data, 69084 characters]
VdirsVdirsVdirfj8skrZ+0PmMl3L0Wf9VssY/8AEv8A/9k=

------=_NextPart_000_0000_01C8B1D2.79EF3EF0
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
Content-Location: http://www.oracle.com/technology/pub/images/haefel_ruby_f3.jpg

[encoded data, 74236 characters]

------=_NextPart_000_0000_01C8B1D2.79EF3EF0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://oracleimg.com/admin/images/otn/r_arrow.gif

R0lGODlhCgAKAJECAP////8AAP///wAAACH5BAEAAAIALAAAAAAKAAoAAAIVlI+pBgGgmoPnhUvZ
3cjiJD3gtCgFADs=

------=_NextPart_000_0000_01C8B1D2.79EF3EF0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.oracle.com/admin/images/spacer.gif

R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==

------=_NextPart_000_0000_01C8B1D2.79EF3EF0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://oracleimg.com/admin/images/email.gif

R0lGODlhEwAQALMAAP///66uruXj46SnqO/v7/f398LCwvPv78fIxgAAAAAAAAAAAAAAAAAAAAAA
AAAAACH5BAAAAAAALAAAAAATABAAAARMEMhJq704662D/2AYGtxkeMJQDoIHpBsLuK+KyXMwwRae
7wbbZIAQTGgwHkCG8xRShWhqwIoWqqjBgcAlCL5dLstj+JrPaMFJxBZFAAA7

------=_NextPart_000_0000_01C8B1D2.79EF3EF0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.oracle.com/admin/images/print_17x15.gif

R0lGODlhEQAPAJECAAAAAP///wAAAAAAACH5BAEAAAIALAAAAAARAA8AAAIxlAWpeo0BYwDugLlm
NVdCamXLNXaT90WJWq6fiaJuLJvtjMd2Ri8WrXHAPKDGjWEoAAA7

------=_NextPart_000_0000_01C8B1D2.79EF3EF0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://oracleimg.com/admin/images/ocom/hp/info_company.gif

[encoded data, 4104 characters]
CDtoTqXkIAGdAaAJVZDAERhQBZ3louq1zoEGEYSwq4AAADs=

------=_NextPart_000_0000_01C8B1D2.79EF3EF0
Content-Type: image/png
Content-Transfer-Encoding: base64
Content-Location: http://oracleimg.com/admin/images/feed-icon-14x14.png

iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABGdBTUEAAK/INwWK6QAAABl0RVh0
U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJDSURBVHjajJJNSBRhGMd/887MzrQxRSLb
FuYhoUhEKsMo8paHUKFLdBDrUIdunvq4RdClOq8Hb0FBSAVCUhFR1CGD/MrIJYqs1kLUXd382N35
6plZFOrUO/MMz/vO83+e93n+f+1zF+kQBoOQNLBJg0CTj7z/rvWjGbEOIwKp9O7WkhtQc/wMWrlI
kP8Kc1lMS8eyFHpkpo5SgWCCVO7Z5JARhuz1Qg29fh87u6/9VWL1/SPc4Qy6n8c0FehiXin6dcCQ
aylDMhqGz8ydS2hKkmxNkWxowWnuBLHK6G2C8X6UJkBlxUmNqLYyNbzF74QLDrgFgh9LLE0NsPKx
jW1Hz2EdPIubsOFdH2HgbwAlC4S19dT13o+3pS+vcSfvUcq9YnbwA6muW9hNpym/FWBxfh0CZkKG
kPBZeJFhcWQAu6EN52QGZ/8prEKW+cdXq0039UiLXhUYzdjebOJQQI30UXp6mZn+Dtam32Afu0iy
rgUvN0r+ZQbr8HncSpUVJfwRhBWC0hyGV8CxXBL5SWYf9sYBidYLIG2V87/ifVjTWAX6AlxeK2C0
X8e58hOr/Qa2XJ3iLMWxB1h72tHs7bgryzHAN2o2gJorTrLxRHVazd0o4TXiyV2Yjs90uzauGvvp
pmqcLjwmbZ3V7BO2HOrBnbgrQRqWUgTZ5+Snx4WeKfzCCrmb3axODKNH+vvUyWjqyK4DiKQ0eXSp
FsgVvLJQWpH+xSpr4otg/HI0TR/t97cxTUS+QxIMRTLi/9ZYJPI/AgwAoc3W7ZrqR2IAAAAASUVO
RK5CYII=

------=_NextPart_000_0000_01C8B1D2.79EF3EF0
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.oracle.com/admin/otn_new.css

BODY {
	FONT-FAMILY: arial,helvetica,sans-serif
}
H1 {
	FONT-FAMILY: arial,helvetica,sans-serif
}
H2 {
	FONT-FAMILY: arial,helvetica,sans-serif
}
H3 {
	FONT-FAMILY: arial,helvetica,sans-serif
}
H4 {
	FONT-FAMILY: arial,helvetica,sans-serif
}
H1 {
	FONT-SIZE: 18px
}
H2 {
	FONT-SIZE: 16px
}
H3 {
	FONT-SIZE: 14px
}
H4 {
	FONT-SIZE: 12px
}
BODY {
	FONT-SIZE: 12px
}
H1 {
	MARGIN-BOTTOM: 1px
}
H2 {
	MARGIN-BOTTOM: 1px
}
H3 {
	MARGIN-BOTTOM: 1px
}
H4 {
	MARGIN-BOTTOM: 1px
}
H1 {
	FONT-WEIGHT: bold
}
H2 {
	FONT-WEIGHT: bold
}
H3 {
	FONT-WEIGHT: bold
}
H4 {
	FONT-WEIGHT: bold
}
H1 {
	COLOR: #000
}
H2 {
	COLOR: #000
}
H3 {
	COLOR: #000
}
H4 {
	COLOR: #000
}
.betastuff {
	FONT-SIZE: 11px; COLOR: #000000; FONT-FAMILY: Arial, Helvetica, =
sans-serif; TEXT-DECORATION: none
}
.bodylink {
	FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 14px; FONT-FAMILY: Arial, =
Helvetica, sans-serif
}
A:link {
	COLOR: #000; TEXT-DECORATION: underline
}
A:visited {
	COLOR: #999; TEXT-DECORATION: underline
}
A.bodylink:visited {
	COLOR: #999999; TEXT-DECORATION: underline
}
A.bodylink:hover {
	COLOR: #ff0000; TEXT-DECORATION: underline
}
A.bodylink:link {
	COLOR: black; TEXT-DECORATION: underline
}
.bodylinkwhite {
	FONT-SIZE: 12px; COLOR: #ffffff; LINE-HEIGHT: 14px; FONT-FAMILY: Arial, =
Helvetica, sans-serif
}
A.bodylinkwhite:visited {
	COLOR: white; TEXT-DECORATION: none
}
A.bodylinkwhite:hover {
	COLOR: #cccccc; TEXT-DECORATION: underline
}
A.bodylinkwhite:link {
	COLOR: white; TEXT-DECORATION: none
}
.boldbodylink {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 14px; =
FONT-FAMILY: Arial, Helvetica, sans-serif
}
A.boldbodylink:visited {
	COLOR: #999999; TEXT-DECORATION: underline
}
A.boldbodylink:hover {
	COLOR: #ff0000; TEXT-DECORATION: underline
}
A.boldbodylink:link {
	COLOR: black; TEXT-DECORATION: underline
}
.boldbodylinkwhite {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #ffffff; LINE-HEIGHT: 14px; =
FONT-FAMILY: Arial, Helvetica, sans-serif
}
A.boldbodylinkwhite:visited {
	COLOR: #ffffff; TEXT-DECORATION: underline
}
A.boldbodylinkwhite:hover {
	COLOR: #ff0000; TEXT-DECORATION: underline
}
A.boldbodylinkwhite:link {
	COLOR: white; TEXT-DECORATION: underline
}
.bodycopy {
	FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 14px; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: none; visited: #000000
}
.boldbodycopy {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 14px; =
FONT-FAMILY: Arial, Helvetica, sans-serif; TEXT-DECORATION: none; =
visited: #000000
}
.boldbodycopy2 {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #999999; LINE-HEIGHT: 14px; =
FONT-FAMILY: Arial, Helvetica, sans-serif; TEXT-DECORATION: none; =
visited: #999999
}
.boldbodycopy3 {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #666666; LINE-HEIGHT: 14px; =
FONT-FAMILY: Arial, Helvetica, sans-serif; TEXT-DECORATION: none; =
visited: #666666
}
.directorytext {
	FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 17px; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: none; visited: #000000
}
.gradient {
	FILTER: =
progid:DXImageTransform.Microsoft.Gradient(startColorstr=3D'#DDDDDD', =
endColorstr=3D'#FFFFFF', gradientType=3D'0')
}
.headline {
	FONT-SIZE: 28px; COLOR: #000000; LINE-HEIGHT: 38px; FONT-FAMILY: arial =
black, impact, arial, verdana, sans-serif; LETTER-SPACING: -1px; =
TEXT-DECORATION: none; visited: #000000; wrap-option: hard-wrap
}
.italicbodycopy {
	FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 14px; FONT-STYLE: italic; =
FONT-FAMILY: Arial, Helvetica, sans-serif; TEXT-DECORATION: none; =
visited: #000000
}
.ITALICiBodycopy {
	FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 14px; FONT-STYLE: italic; =
FONT-FAMILY: Arial, Helvetica, sans-serif; TEXT-DECORATION: none; =
visited: #000000
}
.legalese {
	FONT-SIZE: 10px; COLOR: #000000; FONT-FAMILY: Arial, Helvetica, =
sans-serif; TEXT-DECORATION: none; visited: #000000
}
A.legalese:link {
	COLOR: #000; TEXT-DECORATION: none
}
A.legalese:visited {
	COLOR: #000; TEXT-DECORATION: none
}
A.legalese:hover {
	COLOR: #ff0000; TEXT-DECORATION: underline
}
.navhead {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #000000; FONT-STYLE: italic; =
FONT-FAMILY: Arial, Helvetica, Sans-serif; TEXT-DECORATION: none; =
visited: #000000
}
.navheader {
	FONT-WEIGHT: bold; FONT-SIZE: 10pt; COLOR: #336699; FONT-FAMILY: Arial, =
Helvetica, sans-serif
}
.navlink {
	FONT-SIZE: 11px; COLOR: #000000; LINE-HEIGHT: 14px; FONT-FAMILY: Arial, =
Helvetica, sans-serif
}
A.navlink:visited {
	COLOR: #000000; TEXT-DECORATION: none
}
A.navlink:hover {
	COLOR: #ff0000; TEXT-DECORATION: underline
}
A.navlink:link {
	COLOR: black; TEXT-DECORATION: none
}
.parahead1 {
	FONT-WEIGHT: bold; FONT-SIZE: 16px; COLOR: #000000; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: none; visited: #000000
}
.parahead1Itali {
	FONT-WEIGHT: bold; FONT-SIZE: 16px; COLOR: #000000; FONT-STYLE: italic; =
FONT-FAMILY: Arial, Helvetica, sans-serif; TEXT-DECORATION: none; =
visited: #000000
}
.parahead2 {
	FONT-WEIGHT: bold; FONT-SIZE: 16px; COLOR: #666666; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: none; visited: #666666
}
.parahead2Itali {
	FONT-WEIGHT: bold; FONT-SIZE: 16px; COLOR: #666666; FONT-STYLE: italic; =
FONT-FAMILY: Arial, Helvetica, sans-serif; TEXT-DECORATION: none; =
visited: #666666
}
.portletTitle {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #000000; FONT-FAMILY: Arial, =
Helvetica, Sans-serif; TEXT-DECORATION: none; visited: #000000
}
A.portletTitle:visited {
	COLOR: #000000; TEXT-DECORATION: none
}
A.portletTitle:hover {
	COLOR: #ff0000; TEXT-DECORATION: underline
}
A.portletTitle:link {
	COLOR: black; TEXT-DECORATION: none
}
.profile {
	FONT-SIZE: 10px; COLOR: #000; FONT-FAMILY: Arial, Helvetica, =
sans-serif; TEXT-DECORATION: none; visited: #999999
}
.tablink {
	FONT-SIZE: 11px; COLOR: #000000; FONT-FAMILY: Arial, Helvetica, =
sans-serif; TEXT-DECORATION: none; visited: #000000
}
.TD {
	BACKGROUND-IMAGE: url(/admin/images/ocom/content_background.gif); =
BACKGROUND-REPEAT: no-repeat
}
.textA {
	FONT-SIZE: 11px; COLOR: #000000; LINE-HEIGHT: 14px; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: none; visited: #000000
}
A.textA:visited {
	COLOR: #000000; TEXT-DECORATION: underline
}
A.textA:hover {
	COLOR: #ff0000; TEXT-DECORATION: underline
}
A.textA:link {
	COLOR: black; TEXT-DECORATION: underline
}
.textB {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #000000; FONT-FAMILY: Arial, =
Helvetica, Sans-serif; TEXT-DECORATION: none; visited: #000000
}
.textC {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #999999; FONT-FAMILY: Arial, =
Helvetica, Sans-serif; TEXT-DECORATION: none; visited: #999999
}
.topstoryhead {
	FONT-WEIGHT: bold; FONT-SIZE: 18px; COLOR: #000000; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: none; visited: #000000
}
.h1 {
	FONT-SIZE: 12px; COLOR: #ff0000; LINE-HEIGHT: 17px; FONT-FAMILY: Arial, =
Helvetica, sans-serif
}
.directorytext2 {
	FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 17px; FONT-FAMILY: Arial, =
Helvetica, sans-serif
}
A.directorytext2:visited {
	COLOR: #000000; TEXT-DECORATION: none
}
A.directorytext2:hover {
	COLOR: #ff0000; TEXT-DECORATION: underline
}
A.directorytext2:link {
	COLOR: black; TEXT-DECORATION: none
}
.textBnav {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #000000; FONT-FAMILY: Arial, =
Helvetica, Sans-serif; TEXT-DECORATION: none; visited: #000000
}
A.textBnav:visited {
	COLOR: #000000; TEXT-DECORATION: none
}
A.textBnav:hover {
	COLOR: #ff0000; TEXT-DECORATION: underline
}
A.textBnav:link {
	COLOR: black; TEXT-DECORATION: none
}
.textCnav {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #999999; FONT-FAMILY: Arial, =
Helvetica, Sans-serif; TEXT-DECORATION: none; visited: #999999
}
A.textCnav:visited {
	COLOR: #999999; TEXT-DECORATION: none
}
A.textCnav:hover {
	COLOR: #ff0000; TEXT-DECORATION: underline
}
A.textCnav:link {
	COLOR: #999999; TEXT-DECORATION: none
}
.imgborder {
	BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; =
BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid
}
.tborder {
	BORDER-RIGHT: #cccccc 1px solid; BORDER-TOP: #cccccc 1px solid; =
BORDER-LEFT: #cccccc 1px solid; BORDER-BOTTOM: #cccccc 1px solid
}
.navborder {
	BORDER-RIGHT: #666666 1px solid; BORDER-LEFT: #666666 1px solid; =
BORDER-BOTTOM: #666666 1px solid
}
.imgborder_on {
	BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; =
BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid
}
.imgborder_off {
	BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: =
0px
}
.rightNavHeadLine {
	FONT: bold 14px/20px "Arial"; TEXT-TRANSFORM: capitalize; COLOR: =
#000000; LETTER-SPACING: -0.02em; TEXT-DECORATION: none
}
.rightNavHeadLineWhite {
	FONT: bold 14px/20px "Arial"; TEXT-TRANSFORM: capitalize; COLOR: =
#ffffff; LETTER-SPACING: -0.02em; TEXT-DECORATION: none
}
.rightNavSubHeadLine {
	FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 14px; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: none
}
A.rightNavSubHeadLine:hover {
	COLOR: #ff0000; TEXT-DECORATION: underline
}
A.rightNavSubHeadLine:link {
	COLOR: #000000; TEXT-DECORATION: none
}
.navTitle {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; MARGIN-LEFT: 10px; COLOR: #ff0000; =
LINE-HEIGHT: 16px; FONT-FAMILY: Arial, sans-serif; TEXT-DECORATION: none
}
A.navTitle:link {
	COLOR: #ff0000; TEXT-DECORATION: none
}
A.navTitle:visited {
	COLOR: #ff0000; TEXT-DECORATION: none
}
A.navTitle:hover {
	COLOR: #ff0000; TEXT-DECORATION: underline
}
A.subnavlink {
	FONT-WEIGHT: 400; FONT-SIZE: 11px; MARGIN-LEFT: 10px; COLOR: #000000; =
LINE-HEIGHT: 16px; FONT-FAMILY: Arial, sans-serif; TEXT-DECORATION: none
}
A.subnavlink:link {
	COLOR: black; TEXT-DECORATION: none
}
A.subnavlink:visited {
	COLOR: #000; TEXT-DECORATION: none
}
A.subnavlink:hover {
	COLOR: #ff0000; TEXT-DECORATION: none
}
.mainHeadLine {
	FONT: 300 30px/33px "Arial Narrow", "Arial"; TEXT-TRANSFORM: =
capitalize; COLOR: #000000; LETTER-SPACING: -0.03em; TEXT-DECORATION: =
none
}
#banner {
	BACKGROUND: #fff; MARGIN: 0px 10px; BORDER-BOTTOM: #ccc 1px solid; =
HEIGHT: 75px
}
#banner-forum {
	BACKGROUND: #fff; MARGIN: 0px; BORDER-BOTTOM: #ccc 1px solid; HEIGHT: =
75px
}
#bannerMid {
	BACKGROUND: #fff; WIDTH: 535px; HEIGHT: 50px
}
A.headlink {
	FONT-WEIGHT: 400; FONT-SIZE: 10px; COLOR: #000000; LINE-HEIGHT: 33px; =
FONT-FAMILY: Arial, sans-serif; TEXT-DECORATION: none
}
A.headlink:link {
	COLOR: black; TEXT-DECORATION: none
}
A.headlink:hover {
	COLOR: #ff0000; TEXT-DECORATION: none
}
A.Bheadlink {
	FONT-WEIGHT: 400; FONT-SIZE: 10px; COLOR: #000000; FONT-FAMILY: Arial, =
sans-serif; TEXT-DECORATION: none
}
A.Bheadlink:link {
	COLOR: black; TEXT-DECORATION: none
}
A.Bheadlink:hover {
	COLOR: #ff0000; TEXT-DECORATION: none
}
.loclink {
	BORDER-TOP: #ff0000 18px solid; FONT-SIZE: 10px; COLOR: #ff0000; =
LINE-HEIGHT: 33px; FONT-FAMILY: Arial, sans-serif; TEXT-DECORATION: none
}
.padBox {
	PADDING-RIGHT: 0px; PADDING-LEFT: 20px; PADDING-BOTTOM: 5px; =
PADDING-TOP: 0px
}
.mainBkg {
	BACKGROUND-IMAGE: =
url(http://oracleimg.com/admin/images/otn/otn_home2.jpg); =
BACKGROUND-REPEAT: no-repeat
}
.searchBox {
	MARGIN: 0px 10px 0px 20px
}
.navsection {
	BORDER-RIGHT: #cccccc 1px solid
}
.navsectionmain {
	BORDER-RIGHT: #cccccc 1px solid
}
#leftnav {
	BORDER-RIGHT: #cccccc 1px solid; MARGIN: 0px 10px; BORDER-BOTTOM: =
#cccccc 1px solid
}
#main {
	BACKGROUND: #fff; MARGIN: 0px 10px; BORDER-BOTTOM: #ccc 1px solid
}
#footer {
	BORDER-TOP: #ccc 1px solid; BACKGROUND: #fff
}
.navPadBox {
	PADDING-RIGHT: 10px
}
.footerPadBoxLeft {
	PADDING-RIGHT: 1px; PADDING-BOTTOM: 0px
}
.footerDivider {
	FONT-SIZE: 11px; FONT-FAMILY: Arial, Helvetica, sans-serif
}
.padMid {
	PADDING-RIGHT: 20px; PADDING-LEFT: 10px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
#navTop {
	BORDER-TOP: #cccccc 1px solid; BORDER-BOTTOM: #cccccc 1px solid
}
#navTopMain {
	BORDER-TOP: #cccccc 1px solid; MARGIN-LEFT: 10px; BORDER-BOTTOM: =
#cccccc 1px solid
}
#navTopMainOBE {
	BORDER-TOP: #cccccc 1px solid; MARGIN-LEFT: 10px; BORDER-BOTTOM: =
#cccccc 1px solid
}
#navBottomTop {
	BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; PADDING-LEFT: 0px; =
PADDING-BOTTOM: 0px; PADDING-TOP: 0px
}
#navBottomTopMain {
	BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; PADDING-LEFT: 0px; =
PADDING-BOTTOM: 0px; MARGIN-RIGHT: 2px; PADDING-TOP: 4px
}
.clsNode {
	FONT-WEIGHT: 700; FONT-SIZE: 10px; WIDTH: 150px; COLOR: #000000; =
PADDING-TOP: 5px; BORDER-BOTTOM: #999999 1px solid; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: none
}
A.bannerlink {
	FONT-WEIGHT: 400; FONT-SIZE: 9px; COLOR: #666666; FONT-FAMILY: Arial, =
sans-serif; TEXT-DECORATION: none
}
A.bannerlink:link {
	COLOR: #666666; TEXT-DECORATION: none
}
A.bannerlink:hover {
	COLOR: #ff0000; TEXT-DECORATION: none
}
.navborder1 {
	BORDER-RIGHT: #cccccc 1px solid; BORDER-BOTTOM: #cccccc 1px solid
}
.navbodylink {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #000000; LINE-HEIGHT: 14px; =
FONT-FAMILY: Arial, Helvetica, sans-serif
}
A.navbodylink:visited {
	COLOR: #000000; TEXT-DECORATION: none
}
A.navbodylink:hover {
	COLOR: #ff0000; TEXT-DECORATION: none
}
A.navbodylink:link {
	COLOR: black; TEXT-DECORATION: none
}
.subnavlinkpipe {
	FONT-SIZE: 11px
}
A.subnavlinkpipe:link {
	COLOR: #000; TEXT-DECORATION: none
}
A.subnavlinkpipe:visited {
	COLOR: #000; TEXT-DECORATION: none
}
A.subnavlinkpipe:hover {
	COLOR: #ff0000; TEXT-DECORATION: underline
}
.greybarhomebot {
	BORDER-TOP: #d1cfcf 1px solid; MARGIN-TOP: 7px; BACKGROUND: #dcdcdc; =
HEIGHT: 7px
}
#marginTop {
	MARGIN-LEFT: 10px
}
#rssTop {
	BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: =
#cccccc 1px solid; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; PADDING-TOP: =
0px
}
#navOTNBottom {
	BORDER-RIGHT: #cccccc 1px solid; BORDER-BOTTOM: #cccccc 1px solid
}
.horznavContainer {
	BACKGROUND: url(http://oracleimg.com/admin/images/horznav_rptbg.gif) =
repeat-x; WIDTH: 99%; HEIGHT: 31px
}
.dropdown UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; WIDTH: 100%; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
.dropdown LI {
	BORDER-RIGHT: #a7a7a7 1px solid; BORDER-LEFT: #a7a7a7 1px solid; =
BORDER-TOP-STYLE: none; TEXT-INDENT: 5px; BORDER-BOTTOM: #a7a7a7 1px =
solid; TEXT-DECORATION: none
}
.dropdown A {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 5px; FONT-SIZE: 11px; =
PADDING-BOTTOM: 6px; OVERFLOW: hidden; COLOR: #dddddd; PADDING-TOP: 6px; =
FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; POSITION: relative; =
TEXT-DECORATION: none
}
.dropdown LI A:link {
	BACKGROUND-POSITION: 4px 50%; DISPLAY: block; COLOR: #dddddd; POSITION: =
relative; TEXT-DECORATION: none
}
.dropdown LI A:visited {
	BACKGROUND-POSITION: 4px 50%; DISPLAY: block; COLOR: #dddddd; POSITION: =
relative; TEXT-DECORATION: none
}
.dropdown LI A:hover {
	BACKGROUND-POSITION: 4px 50%; DISPLAY: block; COLOR: #000000; POSITION: =
relative; BACKGROUND-COLOR: #a7a7a7; TEXT-DECORATION: none
}
.dropdown {
	DISPLAY: none; POSITION: absolute; TOP: 31px; BACKGROUND-COLOR: #6f6f6f
}
.mouseoverContainer {
	WIDTH: 100%; POSITION: relative
}
.rpt_off {
	BORDER-RIGHT: medium none; PADDING-RIGHT: 10px; BORDER-TOP: medium =
none; PADDING-LEFT: 8px; FONT-WEIGHT: bold; FONT-SIZE: 11px; =
BACKGROUND-IMAGE: url(http://oracleimg.com/admin/images/horznav_bg.gif); =
PADDING-BOTTOM: 0px; BORDER-LEFT: medium none; COLOR: #000000; =
PADDING-TOP: 10px; BORDER-BOTTOM: medium none; BACKGROUND-REPEAT: =
no-repeat; FONT-FAMILY: Arial, Helvetica, sans-serif; WHITE-SPACE: =
nowrap; HEIGHT: 21px; TEXT-DECORATION: none
}
.rpt_off A:link {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #000000; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: none
}
.rpt_off A:visited {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #000000; FONT-FAMILY: Arial, =
Helvetica, sans-serif; WHITE-SPACE: nowrap; TEXT-DECORATION: none
}
.rpt_off A:hover {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #dddddd; FONT-FAMILY: Arial, =
Helvetica, sans-serif; WHITE-SPACE: nowrap; TEXT-DECORATION: none
}
.rpt_on {
	BORDER-RIGHT: medium none; BORDER-TOP: red 2px solid; FONT-WEIGHT: =
bold; FONT-SIZE: 11px; BORDER-LEFT: medium none; COLOR: #dddddd; =
PADDING-TOP: 8px; FONT-FAMILY: Arial, Helvetica, sans-serif; =
WHITE-SPACE: nowrap; HEIGHT: 21px; BACKGROUND-COLOR: #6f6f6f; =
TEXT-DECORATION: none
}
.rpt_on A:link {
	BORDER-RIGHT: medium none; PADDING-RIGHT: 10px; BORDER-TOP: red 2px =
solid; PADDING-LEFT: 8px; FONT-WEIGHT: bold; FONT-SIZE: 11px; =
PADDING-BOTTOM: 0px; BORDER-LEFT: medium none; COLOR: #dddddd; =
PADDING-TOP: 8px; FONT-FAMILY: Arial, Helvetica, sans-serif; =
WHITE-SPACE: nowrap; BACKGROUND-COLOR: #6f6f6f; TEXT-DECORATION: none
}
.rpt_on A:visited {
	BORDER-RIGHT: medium none; PADDING-RIGHT: 10px; BORDER-TOP: red 2px =
solid; PADDING-LEFT: 8px; FONT-WEIGHT: bold; FONT-SIZE: 11px; =
PADDING-BOTTOM: 0px; BORDER-LEFT: medium none; COLOR: #dddddd; =
PADDING-TOP: 8px; FONT-FAMILY: Arial, Helvetica, sans-serif; =
WHITE-SPACE: nowrap; BACKGROUND-COLOR: #6f6f6f; TEXT-DECORATION: none
}
.rpt_on A:hover {
	BORDER-RIGHT: medium none; PADDING-RIGHT: 10px; BORDER-TOP: red 2px =
solid; PADDING-LEFT: 8px; FONT-WEIGHT: bold; FONT-SIZE: 11px; =
PADDING-BOTTOM: 0px; BORDER-LEFT: medium none; COLOR: #ffffff; =
PADDING-TOP: 8px; FONT-FAMILY: Arial, Helvetica, sans-serif; =
WHITE-SPACE: nowrap; BACKGROUND-COLOR: #6f6f6f; TEXT-DECORATION: none
}
.header_bg {
	BACKGROUND-IMAGE: =
url(http://oracleimg.com/admin/images/horznav_rptbg.gif); =
PADDING-BOTTOM: 4px; VERTICAL-ALIGN: top; BACKGROUND-REPEAT: repeat-x; =
HEIGHT: 29px
}
.pvebbodyContainer {
	BACKGROUND: =
url(http://oracleimg.com/admin/images/horznav_shadow_rpt.gif) #ffffff =
repeat-x; WIDTH: 99%; HEIGHT: 20px
}
.pvebbodylink {
	FONT-WEIGHT: bold; FONT-SIZE: 10px; COLOR: #666666; LINE-HEIGHT: 14px; =
FONT-FAMILY: Arial, Helvetica, sans-serif; BACKGROUND-COLOR: #dcdcdc; =
TEXT-DECORATION: none
}
.pvebbodylink IMG {
	MARGIN: 0px 3px
}
.pvebbodylink A:link {
	COLOR: #666666; MARGIN-RIGHT: 6px; TEXT-DECORATION: none
}
.pvebbodylink A:visited {
	COLOR: #666666; MARGIN-RIGHT: 6px; TEXT-DECORATION: none
}
.pvebbodylink A:hover {
	COLOR: #ff0000; MARGIN-RIGHT: 6px; TEXT-DECORATION: none
}

------=_NextPart_000_0000_01C8B1D2.79EF3EF0
Content-Type: multipart/alternative;
	boundary="----=_NextPart_001_0033_01C8B1D2.79F66AE0"


------=_NextPart_001_0033_01C8B1D2.79F66AE0
Content-Type: text/html;
	charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.oracle.com/technology/pub/articles/haefel-oracle-ruby.html

=EF=BB=BF<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML lang=3Den=20
dir=3Dltr><HEAD><TITLE>Ruby on Rails on Oracle: A Simple =
Tutorial</TITLE>
<META http-equiv=3DContent-Type content=3D"text/html; charset=3Dutf-8">
<STYLE type=3Dtext/css>.GroupHeaderid1siteid0 {
	HEIGHT: 20px; BACKGROUND-COLOR: #336699; TEXT-ALIGN: left
}
.GroupHeaderLinkid1siteid0 {
	FONT-WEIGHT: bold; FONT-SIZE: 9pt; COLOR: #ffffff; FONT-FAMILY: Arial, =
Helvetica
}
.GroupHeaderTextid1siteid0 {
	FONT-WEIGHT: bold; FONT-SIZE: 9pt; COLOR: #ffffff; FONT-FAMILY: Arial, =
Helvetica
}
.RegionHeaderid1siteid0 {
	HEIGHT: 20px; BACKGROUND-COLOR: #336699; TEXT-ALIGN: left
}
.RegionHeaderTextid1siteid0 {
	FONT-WEIGHT: bold; FONT-SIZE: 9pt; COLOR: #ffffff; FONT-FAMILY: Arial, =
Helvetica
}
.Bodyid1siteid0 {
	BACKGROUND-COLOR: #ffffff
}
.Collateral_Typeid1siteid0 {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.Elogger_Trackableid1siteid0 {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.PPG_AUTHENTICATIONid1siteid0 {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.PPG_COUNTRYid1siteid0 {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.PPG_COUNTRY_REGIONid1siteid0 {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.PPG_DISPLAYABLEid1siteid0 {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.PPG_INITIATIVES_INVOLVEMENTid1siteid0 {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.PPG_LANGUAGEid1siteid0 {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.PPG_MASTERid1siteid0 {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.PPG_OPN_ACCESS_LEVELid1siteid0 {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.PPG_OPP_LEVELid1siteid0 {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.PPG_PARTNER_TYPEid1siteid0 {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.PPG_PRIORITYid1siteid0 {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.PPG_REGIONid1siteid0 {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.PPG_SEARCHABLEid1siteid0 {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.PPG_SUMMARYid1siteid0 {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.PPG_TECH_TRACKid1siteid0 {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.PRSubHeadingid1siteid0 {
	FONT-WEIGHT: bold; FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: Arial, =
Helvetica
}
.PR_Approvalid1siteid0 {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.PR_Category1id1siteid0 {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.PR_Category2id1siteid0 {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.PR_Category3id1siteid0 {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.PR_Category4id1siteid0 {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.PR_Category5id1siteid0 {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.PR_Category6id1siteid0 {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.PR_Category7id1siteid0 {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.PR_Company1id1siteid0 {
	FONT-SIZE: 9pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.PR_Company2id1siteid0 {
	FONT-SIZE: 9pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.PR_Contact_Name1id1siteid0 {
	FONT-WEIGHT: bold; FONT-SIZE: 9pt; COLOR: #000000; FONT-FAMILY: Arial, =
Helvetica
}
.PR_Contact_Name2id1siteid0 {
	FONT-WEIGHT: bold; FONT-SIZE: 9pt; COLOR: #000000; FONT-FAMILY: Arial, =
Helvetica
}
.PR_Email1id1siteid0 {
	FONT-SIZE: 9pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.PR_Email2id1siteid0 {
	FONT-SIZE: 9pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.PR_Headingid1siteid0 {
	FONT-WEIGHT: bold; FONT-SIZE: 12pt; COLOR: #000000; FONT-FAMILY: Arial, =
Helvetica; TEXT-DECORATION: none
}
.PR_Locationid1siteid0 {
	FONT-WEIGHT: bold; FONT-SIZE: 9pt; COLOR: #000000; FONT-FAMILY: Arial, =
Helvetica
}
.PR_Phone1id1siteid0 {
	FONT-SIZE: 9pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.PR_Phone2id1siteid0 {
	FONT-SIZE: 9pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.Searchableid1siteid0 {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.authorid1siteid0 {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.createdateid1siteid0 {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.creatorid1siteid0 {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.defaultattributeid1siteid0 {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.descriptionid1siteid0 {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.documentsizeid1siteid0 {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.expiredateid1siteid0 {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.inplacedisplayid1siteid0 {
	FONT-SIZE: 9pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.itemfunctionid1siteid0 {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.keywordsid1siteid0 {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.perspectivesid1siteid0 {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.scoreid1siteid0 {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.subpagetitleid1siteid0 {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.titleid1siteid0 {
	FONT-WEIGHT: bold; FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, =
Helvetica
}
.titleorimageid1siteid0 {
	FONT-WEIGHT: bold; FONT-SIZE: 9pt; COLOR: #336699; FONT-FAMILY: Arial, =
Helvetica; TEXT-DECORATION: underline
}
.wwsbr_category_id1siteid0 {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.wwsbr_charset_id1siteid0 {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.wwsbr_itemtype_id1siteid0 {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.wwsbr_mime_type_id1siteid0 {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.wwsbr_page_id1siteid0 {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.wwsbr_pagegroup_id1siteid0 {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.wwsbr_publishdate_id1siteid0 {
	FONT-WEIGHT: bold; FONT-SIZE: 9pt; COLOR: #000000; FONT-FAMILY: Arial, =
Helvetica
}
.wwsbr_updatedate_id1siteid0 {
	FONT-SIZE: 9pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.wwsbr_updator_id1siteid0 {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.wwsbr_version_number_id1siteid0 {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.LeftCurve {
	BACKGROUND-POSITION: left top; BACKGROUND-ATTACHMENT: scroll; =
BACKGROUND-IMAGE: url(http://www.oracle.com/portalimages/FFFFFFl.gif); =
BACKGROUND-REPEAT: no-repeat
}
.PortletBodyColor {
=09
}
.PortletHeaderColor {
	BACKGROUND-COLOR: #999999
}
.PortletHeaderLink {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.PortletHeaderStyle {
=09
}
.PortletHeaderText {
	FONT-WEIGHT: bold; FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: Arial, =
Helvetica
}
.PortletHeading1 {
	FONT-WEIGHT: bold; FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Arial, =
Helvetica
}
.PortletHeading2 {
	FONT-WEIGHT: bold; FONT-SIZE: 8pt; COLOR: #666666; FONT-FAMILY: Arial, =
Helvetica
}
.PortletHeading3 {
	FONT-WEIGHT: bold; FONT-SIZE: 7pt; COLOR: #333333; FONT-FAMILY: Arial, =
Helvetica
}
.PortletHeading4 {
	FONT-WEIGHT: bold; FONT-SIZE: 7pt; COLOR: #333333; FONT-FAMILY: Arial, =
Helvetica
}
.PortletSubHeaderColor {
	BACKGROUND-COLOR: #cccccc
}
.PortletSubHeaderLink {
	FONT-SIZE: 9pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.PortletSubHeaderText {
	FONT-SIZE: 9pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.PortletText1 {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.PortletText2 {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.PortletText3 {
	FONT-SIZE: 7pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.PortletText4 {
	FONT-SIZE: 7pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.RightCurve {
	BACKGROUND-POSITION: right top; BACKGROUND-ATTACHMENT: scroll; =
BACKGROUND-IMAGE: url(http://www.oracle.com/portalimages/FFFFFFr.gif); =
BACKGROUND-REPEAT: no-repeat
}
.LeftSubTabid1siteid0 {
	BACKGROUND: url(http://www.oracle.com/portalimages/FFFFFFsl.gif) =
#336699 no-repeat left top
}
.LeftTabBgSlantid1siteid0 {
	BACKGROUND: url(http://www.oracle.com/portalimages/FFFFFFtl.gif) =
#cccc99 no-repeat left top
}
.LeftTabForeSlantid1siteid0 {
	BACKGROUND: url(http://www.oracle.com/portalimages/FFFFFFtl.gif) =
#336699 no-repeat left top
}
.RightSubTabid1siteid0 {
	BACKGROUND: url(http://www.oracle.com/portalimages/FFFFFFsr.gif) =
#336699 no-repeat right top
}
.RightTabBgCurveid1siteid0 {
	BACKGROUND: url(http://www.oracle.com/portalimages/FFFFFFtr.gif) =
#cccc99 no-repeat right top
}
.RightTabForeCurveid1siteid0 {
	BACKGROUND: url(http://www.oracle.com/portalimages/FFFFFFtr.gif) =
#336699 no-repeat right top
}
.SubTabBgTextid1siteid0 {
	FONT-WEIGHT: bold; FONT-SIZE: 11pt; COLOR: #cccc99; FONT-FAMILY: Arial, =
Helvetica; TEXT-DECORATION: none
}
.TabBackgroundColorid1siteid0 {
	BACKGROUND-COLOR: #cccc99
}
.TabBackgroundTextid1siteid0 {
	FONT-SIZE: 10pt; COLOR: #003366; FONT-FAMILY: Arial, Helvetica; =
TEXT-DECORATION: none
}
.TabForegroundColorid1siteid0 {
	BACKGROUND-COLOR: #336699
}
.TabForegroundTextid1siteid0 {
	FONT-WEIGHT: bold; FONT-SIZE: 10pt; COLOR: #ffffff; FONT-FAMILY: Arial, =
Helvetica; TEXT-DECORATION: none
}
.portlet-font {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.portlet-font-dim {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.portlet-msg-status {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.portlet-msg-info {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.portlet-msg-error {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.portlet-msg-alert {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.portlet-msg-success {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.portlet-section-header {
	FONT-WEIGHT: bold; FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Arial, =
Helvetica
}
.portlet-section-body {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.portlet-section-alternate {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.portlet-section-selected {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.portlet-section-subheader {
	FONT-WEIGHT: bold; FONT-SIZE: 8pt; COLOR: #666666; FONT-FAMILY: Arial, =
Helvetica
}
.portlet-section-footer {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.portlet-section-text {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.portlet-table-header {
	FONT-WEIGHT: bold; FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Arial, =
Helvetica; BACKGROUND-COLOR: #cccccc
}
.portlet-table-body {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.portlet-table-alternate {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.portlet-table-selected {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.portlet-table-subheader {
	FONT-WEIGHT: bold; FONT-SIZE: 8pt; COLOR: #666666; FONT-FAMILY: Arial, =
Helvetica
}
.portlet-table-footer {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.portlet-table-text {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.portlet-form-label {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.portlet-form-input-field {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.portlet-form-button {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.portlet-icon-label {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.portlet-dlg-icon-label {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.portlet-form-field-label {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.portlet-form-field {
	FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Arial, Helvetica
}
.RegionNoBorder {
=09
}
.RegionBorder {
	BORDER-RIGHT: #999999 1px solid; BORDER-TOP: #999999 1px solid; =
BORDER-LEFT: #999999 1px solid; BORDER-BOTTOM: #999999 1px solid
}
.RegionHeaderColor {
	BORDER-RIGHT: #999999 0px solid; BORDER-TOP: #999999 0px solid; =
BORDER-LEFT: #999999 0px solid; BORDER-BOTTOM: #999999 0px solid
}
.PageColor {
	BACKGROUND-COLOR: #ffffff
}
</STYLE>

<META content=3D"Ruby on Rails on Oracle: A Simple Tutorial" =
name=3Dtitle>
<META content=3D"" name=3Ddescription>
<META content=3D"ror, ruby, ruby on rails, xe" name=3Dkeywords>
<META content=3D"" name=3Dauthor>
<META content=3D"MSHTML 6.00.6000.16640" name=3DGENERATOR></HEAD>
<BODY class=3DBodyid1siteid0 style=3D"MARGIN: =
0px"><NOSCRIPT></NOSCRIPT><IFRAME=20
id=3DportalIFrame title=3D"" =
src=3D"http://www.oracle.com/portalimages/pobtrans.gif"=20
frameBorder=3D0 width=3D0 height=3D0></IFRAME>
<SCRIPT=20
src=3D"http://www.oracle.com/wocportal/pls/wocprod/WOCPROD.wwsbr_javascri=
pt.page_js?p_language=3Dus&amp;p_version=3D10.1.4.0.0.594"=20
type=3Dtext/javascript>=0A=
<!-- Comment out script for old browsers=0A=
//-->=0A=
</SCRIPT>

<TABLE id=3Drg5235 cellSpacing=3D0 cellPadding=3D0 width=3D"100%" =
summary=3D"" border=3D0>
  <TBODY>
  <TR align=3Dleft>
    <TD=20
    style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px"=20
    vAlign=3Dtop width=3D"100%">
      <DIV id=3Dp33_1960547_33_786765_786765>
      <TABLE class=3DRegionNoBorder cellSpacing=3D0 cellPadding=3D0 =
width=3D"100%"=20
      border=3D0>
        <TBODY>
        <TR>
          <TD class=3DRegionHeaderColor width=3D"100%">
            <DIV id=3Dpcnt33_1960547_33_786765_786765>
            <DIV class=3DBodyid1siteid0>
            <TABLE id=3Drg9714 cellSpacing=3D0 cellPadding=3D0 =
width=3D"100%" summary=3D""=20
            border=3D0>
              <TBODY>
              <TR align=3Dleft>
                <TD=20
                style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
PADDING-BOTTOM: 0px; PADDING-TOP: 0px"=20
                vAlign=3Dtop width=3D"100%"><FONT=20
                  class=3Dinplacedisplayid1siteid0><LINK=20
                  href=3D"http://www.oracle.com/admin/otn_new.css" =
type=3Dtext/css=20
                  rel=3Dstylesheet>
                  <SCRIPT language=3DJavascript=20
                  =
src=3D"http://www.oracle.com/admin/jscripts/portal_lib.js"></SCRIPT>

                  <SCRIPT language=3DJavascript=20
                  =
src=3D"http://www.oracle.com/admin/jscripts/lib.js"></SCRIPT>
                  <NOSCRIPT></NOSCRIPT>
                  <SCRIPT language=3DJavaScript1.2=20
                  =
src=3D"http://www.oracle.com/admin/jscripts/otn_nav1.js"></SCRIPT>

                  <SCRIPT language=3DJavaScript1.2=20
                  =
src=3D"http://www.oracle.com/admin/jscripts/mm_menu.js"></SCRIPT>

                  <SCRIPT =
language=3DJavaScript1.2>mmLoadMenus();</SCRIPT>

                  <SCRIPT type=3Dtext/javascript>
//var OTNDocsNodeId=3D "1_374" ;
//var OTNDocsFId=3D "-1" ;
function setFormValues (form,groupname) {
if(groupname =3D=3D "Video and Multimedia")
{
form.showSimilarDoc.value =3D "false";
}else{
form.showSimilarDoc.value =3D "true";
}
//The following code can be used when a node level search needs to be =
done. Not used now
//if(groupname =3D=3D "OTNDocsNode")
//{
// form.nodeid.value =3D OTNDocsNodeId;
// form.fid.value =3D OTNDocsFId;
//}
}
function callSubmit (keyword,formName,keycode) {
if (keycode=3D=3D13){
if(isNotNull(keyword) =3D=3D true){
formName.submit();
}
}
}
</SCRIPT>

                  <STYLE>.lightbox_overlay {
	DISPLAY: none; Z-INDEX: 1001; FILTER: alpha(opacity=3D60); LEFT: 0%; =
OVERFLOW: auto; WIDTH: 100%; POSITION: fixed; TOP: 0%; HEIGHT: 100%; =
BACKGROUND-COLOR: black; -moz-opacity: 0.6; opacity: .60
}
.sitefinder_content {
	Z-INDEX: 1002; RIGHT: 20px; OVERFLOW: auto; POSITION: absolute; TOP: =
10px
}
</STYLE>
<!--[if lt IE 7]>
			<style>
				.lightbox_overlay {
					display: none;
					position: absolute;
					background-color: black;
					z-index:1001;
					-moz-opacity: 0.6;
					opacity:.60;
					filter: alpha(opacity=3D60);
					overflow:auto;
					top: 0px;
					left: 0px;
					height:expression(document.body.clientHeight < =
document.body.scrollHeight ? document.body.scrollHeight : =
document.body.clientHeight);
					width:expression(document.body.clientWidth);}
			</style>
		<![endif]--><!--[if IE 7]>
                  <STYLE>.lightbox_overlay {
	DISPLAY: none; Z-INDEX: 1001; FILTER: alpha(opacity=3D60); LEFT: 0px; =
OVERFLOW: auto; ; WIDTH: expression(document.body.clientWidth); =
POSITION: absolute; TOP: 0px; ; HEIGHT: =
expression(document.body.clientHeight < document.body.scrollHeight ? =
document.body.scrollHeight : document.body.clientHeight); =
BACKGROUND-COLOR: black; -moz-opacity: 0.6; opacity: .60
}
</STYLE>
<![endif]-->
                  <SCRIPT language=3Djavascript>
		var loaderImg=3D new Image(32,32);
    	loaderImg.src =3D =
"http://www.oracle.com/admin/images/sitefinder/sitefinder_loader.gif";

		function change()
		{
            document.searchForm.group.style.visibility=3D"hidden";
			document.getElementById("Select Country").style.visibility =3D =
"hidden";
			document.getElementById("light").innerHTML =3D "<div id=3D'load' =
style=3D'margin-right:250px; margin-top:50px;'><img =
src=3D'http://www.oracle.com/admin/images/sitefinder/sitefinder_loader.gi=
f' width=3D'32' height=3D'32' /></div><iframe =
src=3D'http://www.oracle.com/admin/sitefinder/sitefinder.html' =
frameborder=3D'0' width=3D'624' height=3D'455' scrolling=3D'no' =
allowtransparency=3D'true' id=3D'siteid' =
style=3D'visibility:hidden'></iframe>";
		}
		</SCRIPT>

                  <DIV id=3Dbanner>
                  <TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" =
border=3D0>
                    <TBODY>
                    <TR>
                      <TD vAlign=3Dcenter align=3Dleft width=3D169 =
height=3D75><A=20
                        =
href=3D"http://www.oracle.com/technology/index.html"><IMG=20
                        alt=3D"Oracle Technology Network" hspace=3D10=20
                        =
src=3D"http://www.oracle.com/admin/images/otn/otn_logo_small.gif"=20
                        border=3D0></A></TD>
                      <TD align=3Dleft width=3D"100%">
                        <FORM=20
                        style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px"=20
                        name=3DsearchForm=20
                        onsubmit=3D"javascript: return =
isNotNull(this.keyword.value)"=20
                        action=3Dhttp://search.oracle.com/search/search =
method=3Dget=20
                        target=3D_top>
                        <TABLE height=3D75 cellSpacing=3D0 =
cellPadding=3D0=20
                        width=3D"100%">
                          <TBODY>
                          <TR>
                            <TD align=3Dright>
                              <SCRIPT language=3DJavaScript =
type=3Dtext/javascript>printWelcome()</SCRIPT>
                              <A=20
                              =
onclick=3D"s_objectID=3D'R0:HR:OTN:ORACLEWEBSITEFINDER';document.getEleme=
ntById('light').style.display=3D'block';document.getElementById('fade').s=
tyle.display=3D'block';change();return false;"=20
                              href=3D"javascript:void(0)"><IMG=20
                              style=3D"MARGIN-LEFT: 15px" height=3D18 =
alt=3DSitefinder=20
                              =
src=3D"http://oracleimg.com/admin/images/sitefinder/oracle_websites_butto=
n.gif"=20
                              width=3D101 border=3D0></A></TD></TR>
                          <TR>
                            <TD align=3Dright>
                              <TABLE cellSpacing=3D0 cellPadding=3D0 =
border=3D0>
                                <TBODY>
                                <TR>
                                <TD><INPUT type=3Dhidden value=3Dtrue =
name=3Ddefault>=20
                                <INPUT class=3DtextA id=3DSearch=20
                                =
onkeydown=3Djavascript:isUserInput=3Dtrue;=20
                                onclick=3D"javascript: if(!isUserInput) =
{document.searchForm.keyword.value =3D'';}"=20
                                size=3D30 value=3D"&nbsp;secure search"=20
                                name=3Dkeyword> <INPUT type=3Dhidden =
value=3D1=20
                                name=3Dstart> </TD>
                                <TD>&nbsp;&nbsp;</TD>
                                <TD><INPUT type=3Dhidden name=3Dnodeid> =
<INPUT=20
                                type=3Dhidden name=3Dfid> <INPUT =
type=3Dhidden=20
                                value=3Dtrue name=3DshowSimilarDoc> =
<SELECT=20
                                class=3DtextA=20
                                =
onkeydown=3Djavascript:callSubmit(document.searchForm.keyword.value,searc=
hForm,event.keyCode)=20
                                onchange=3D"javascript: =
setFormValues(document.searchForm,document.searchForm.group.value)"=20
                                size=3D1 name=3Dgroup> <OPTION=20
                                value=3DAll>All</OPTION> <OPTION=20
                                value=3DBlogs>Blogs</OPTION> <OPTION=20
                                value=3DOracle.com>Corporate =
Site</OPTION> <OPTION=20
                                value=3D"CRM On Demand">CRM On =
Demand</OPTION>=20
                                <OPTION value=3D"Discussion =
Forums">Discussion=20
                                Forums</OPTION> <OPTION=20
                                =
value=3DDocumentation>Documentation</OPTION>=20
                                <OPTION =
value=3DEducation>Education</OPTION>=20
                                <OPTION=20
                                value=3D"Oracle PartnerNetwork =
(Public)">PartnerNetwork=20
                                (Public Only)</OPTION> <OPTION=20
                                value=3D"Oracle Technology Network"=20
                                selected>Technology Network</OPTION> =
<OPTION=20
                                value=3D"Video and Multimedia">Video and =

                                Multimedia</OPTION></SELECT> </TD>
                                <TD>&nbsp;</TD>
                                <TD><A=20
                                onclick=3D"javascript: return =
isNotNull(document.searchForm.keyword.value)"=20
                                =
href=3D"javascript:document.searchForm.submit()"><IMG=20
                                title=3DSearch height=3D20 alt=3D"" =
hspace=3D1=20
                                =
src=3D"http://www.oracle.com/admin/images/20px_search.jpg"=20
                                width=3D21 vspace=3D1=20
                              =
border=3D0></A></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></FORM=
></TD></TR></TBODY></TABLE></DIV><!-- Lightbox Divs -->
                  <DIV class=3Dsitefinder_content id=3Dlight=20
                  style=3D"MARGIN-TOP: 0px; DISPLAY: none; WIDTH: 624px; =
MARGIN-RIGHT: 7px"=20
                  align=3Dright><!--spacer--></DIV>
                  <DIV class=3Dlightbox_overlay id=3Dfade =
style=3D"DISPLAY: none"><!--spacer-->&nbsp;</DIV><!-- Horizontal Nav =
Ends Here =
--></FONT></TD></TR></TBODY></TABLE></DIV></DIV></TD></TR></TBODY></TABLE=
></DIV></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" summary=3D"" =
border=3D0>
  <TBODY>
  <TR>
    <TD vAlign=3Dtop width=3D200>
      <TABLE id=3Drg9997 style=3D"HEIGHT: 0px" cellSpacing=3D0 =
cellPadding=3D0=20
      width=3D"100%" summary=3D"" border=3D0>
        <TBODY>
        <TR align=3Dleft>
          <TD=20
          style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
PADDING-BOTTOM: 0px; PADDING-TOP: 0px"=20
          vAlign=3Dtop width=3D"100%">
            <DIV id=3Dp33_1960351_33_786765_786765>
            <TABLE class=3DRegionNoBorder cellSpacing=3D0 =
cellPadding=3D0 width=3D"100%"=20
            border=3D0>
              <TBODY>
              <TR>
                <TD class=3DRegionHeaderColor width=3D"100%">
                  <DIV id=3Dpcnt33_1960351_33_786765_786765>
                  <DIV class=3DBodyid1siteid0>
                  <TABLE id=3Drg9701 cellSpacing=3D0 cellPadding=3D0 =
width=3D"100%"=20
                  summary=3D"" border=3D0>
                    <TBODY>
                    <TR align=3Dleft>
                      <TD=20
                      style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
PADDING-BOTTOM: 0px; PADDING-TOP: 0px"=20
                      vAlign=3Dtop width=3D"100%"><FONT=20
                        class=3Dinplacedisplayid1siteid0>
                        <DIV id=3DmarginTop>
                        <TABLE cellSpacing=3D0 cellPadding=3D0 =
width=3D180 border=3D0>
                          <TBODY>
                          <TR>
                            <TD id=3DnavBottomTop><IMG height=3D7 =
alt=3D""=20
                              =
src=3D"http://oracleimg.com/admin/images/spacer.gif"=20
                              width=3D1 border=3D0></TD></TR>
                          <TR>
                            <TD id=3DnavBottomTop bgColor=3D#ffffff><A=20
                              class=3Dnavtitle title=3D"Oracle Products =
A-Z"=20
                              =
href=3D"http://www.oracle.com/technology/products/index.html"=20
                              target=3D_top>PRODUCTS</A></TD></TR>
                          <TR>
                            <TD id=3DnavBottomTop width=3D"96%"><A=20
                              class=3Dsubnavlink=20
                              =
href=3D"http://www.oracle.com/technology/database/index.html"=20
                              target=3D_top>Database</A><BR><A =
class=3Dsubnavlink=20
                              =
href=3D"http://www.oracle.com/technology/products/middleware/index.html" =

                              target=3D_top>Middleware</A><BR><A =
class=3Dsubnavlink=20
                              =
href=3D"http://www.oracle.com/technology/products/developer-tools/index.h=
tml"=20
                              target=3D_top>Developer Tools</A><BR><A=20
                              class=3Dsubnavlink=20
                              =
href=3D"http://www.oracle.com/technology/products/oem/index.html"=20
                              target=3D_top>Enterprise Management</A> =
<BR><A=20
                              class=3Dsubnavlink=20
                              =
href=3D"http://www.oracle.com/technology/products/applications/index.html=
"=20
                              target=3D_top>Applications =
Technology</A><BR><!-- <A class=3Dsubnavlink =
href=3D"/technology/products/exchanges.html" target=3D_top>Extensions =
and Plugins</A><BR> --><A=20
                              class=3Dsubnavlink=20
                              =
href=3D"http://www.oracle.com/technology/products/index.html"=20
                              target=3D_top>Products A-Z</A></TD></TR>
                          <TR>
                            <TD id=3DnavBottomTop><IMG height=3D7 =
alt=3D""=20
                              =
src=3D"http://oracleimg.com/admin/images/spacer.gif"=20
                              width=3D1 border=3D0></TD></TR>
                          <TR>
                            <TD id=3DnavBottomTop bgColor=3D#ffffff =
height=3D15><A=20
                              class=3Dnavtitle=20
                              title=3D"Downloads, Articles, Discussions, =
and More"=20
                              =
href=3D"http://www.oracle.com/technology/tech/index.html"=20
                              target=3D_top>TECHNOLOGIES</A></TD></TR>
                          <TR>
                            <TD id=3DnavBottomTop><A class=3Dsubnavlink=20
                              =
href=3D"http://www.oracle.com/technology/tech/bi/index.html">BI=20
                              &amp; Data Warehousing</A><BR><A =
class=3Dsubnavlink=20
                              =
href=3D"http://www.oracle.com/technology/tech/embedded/index.html">Embedd=
ed</A><BR><A=20
                              class=3Dsubnavlink=20
                              =
href=3D"http://www.oracle.com/technology/tech/java/index.html">Java</A><B=
R><A=20
                              class=3Dsubnavlink=20
                              =
href=3D"http://www.oracle.com/technology/tech/linux/index.html">Linux</A>=
<BR><A=20
                              class=3Dsubnavlink=20
                              =
href=3D"http://www.oracle.com/technology/tech/dotnet/index.html">.NET</A>=
<BR><A=20
                              class=3Dsubnavlink=20
                              =
href=3D"http://www.oracle.com/technology/tech/php/index.html">PHP</A><BR>=
<A=20
                              class=3Dsubnavlink=20
                              =
href=3D"http://www.oracle.com/technology/deploy/security/index.html">Secu=
rity</A><BR><A=20
                              class=3Dsubnavlink=20
                              =
href=3D"http://www.oracle.com/technology/tech/soa/index.html">Service-Ori=
ented=20
                              Architecture</A><BR><A class=3Dsubnavlink=20
                              =
href=3D"http://www.oracle.com/technology/tech/windows/index.html">Windows=
=20
                              Server System</A><BR><A class=3Dsubnavlink =

                              =
href=3D"http://www.oracle.com/technology/tech/virtualization/index.html">=
Virtualization</A><BR><A=20
                              class=3Dsubnavlink=20
                              =
href=3D"http://www.oracle.com/technology/tech/index.html">Technologies=20
                              A-Z</A></TD></TR>
                          <TR>
                            <TD id=3DnavBottomTop><IMG height=3D7 =
alt=3D""=20
                              =
src=3D"http://oracleimg.com/admin/images/spacer.gif"=20
                              width=3D1 border=3D0></TD></TR>
                          <TR>
                            <TD id=3DnavBottomTop bgColor=3D#ffffff =
height=3D15><A=20
                              class=3Dnavtitle=20
                              title=3D"Interact with the Oracle =
Community"=20
                              =
href=3D"http://www.oracle.com/technology/community/index.html"=20
                              target=3D_top>COMMUNITY</A></TD></TR>
                          <TR>
                            <TD id=3DnavBottomTop><A class=3Dsubnavlink=20
                              =
href=3D"http://www.oracle.com/technology/join/index.html">Join=20
                              OTN</A><BR><A class=3Dsubnavlink=20
                              =
href=3D"http://www.oracle.com/technology/community/oracle_ace/index.html"=
>Oracle=20
                              ACEs </A><BR><A class=3Dsubnavlink=20
                              href=3D"http://wiki.oracle.com/">Oracle=20
                              Wiki</A><BR><A class=3Dsubnavlink=20
                              =
href=3D"http://blogs.oracle.com/">Blogs</A><BR><A=20
                              class=3Dsubnavlink=20
                              =
href=3D"http://www.oracle.com/podcasts/index.html">Podcasts</A><BR><A=20
                              class=3Dsubnavlink=20
                              =
href=3D"http://www.oracle.com/technology/events/index.html">Events</A><BR=
><A=20
                              class=3Dsubnavlink=20
                              =
href=3D"http://www.oracle.com/newsletters/index.html">Newsletters</A><BR>=
<A=20
                              class=3Dsubnavlink=20
                              =
href=3D"http://www.oracle.com/technology/oramag/oracle/current.html">Orac=
le=20
                              Magazine</A><BR><A class=3Dsubnavlink=20
                              =
href=3D"http://www.oracle.com/technology/bookstore/index.html">Oracle=20
                              Books</A><BR><A class=3Dsubnavlink=20
                              =
href=3D"http://www.oracle.com/education/index.html">Certification</A><BR>=
<A=20
                              class=3Dsubnavlink=20
                              =
href=3D"http://www.oracle.com/technology/community/user_groups/index.html=
">User=20
                              Groups</A><BR><A class=3Dsubnavlink=20
                              =
href=3D"http://www.oraclewhitepapers.com/">Partner=20
                              White Papers</A> </TD></TR>
                          <TR>
                            <TD id=3DnavBottomTop><IMG height=3D7 =
alt=3D""=20
                              =
src=3D"http://oracleimg.com/admin/images/spacer.gif"=20
                              width=3D1 border=3D0></TD></TR>
                          <TR>
                            <TD id=3DrssTop>&nbsp;</TD></TR>
                          <TR>
                            <TD class=3Dsubnavlink id=3DnavBottomTop =
vAlign=3Dbottom=20
                            noWrap align=3Dleft width=3D"30%" =
height=3D27><SELECT=20
                              class=3DtextA id=3D"Select Country"=20
                              =
onchange=3Dlocation.href=3Dthis.options[selectedIndex].value=20
                              size=3D1 name=3D"Select Country"> <OPTION=20
                                selected>SELECT COUNTRY</OPTION> <OPTION =

                                =
value=3Dhttp://www.oracle.com/technology/global/lad-pt/index.html>Brazil<=
/OPTION>=20
                                <OPTION=20
                                =
value=3Dhttp://oracle.com/technology/global/cn/index.html>China</OPTION> =

                                <OPTION=20
                                =
value=3D/technology/global/jp/index.html>Japan</OPTION>=20
                                <OPTION=20
                                =
value=3Dhttp://www.oracle.com/technology/global/kr/index.html>Korea</OPTI=
ON>=20
                                <OPTION=20
                                =
value=3Dhttp://www.oracle.com/technology/global/lad-es/index.html>Latin=20
                                America</OPTION></SELECT></TD></TR>
                          <TR>
                            <TD id=3DnavOTNBottom><IMG height=3D7 =
alt=3D""=20
                              =
src=3D"http://oracleimg.com/admin/images/spacer.gif"=20
                              width=3D1 =
border=3D0></TD></TR></TBODY></TABLE></DIV><IMG=20
                        height=3D10 alt=3D""=20
                        =
src=3D"http://oracleimg.com/admin/images/spacer.gif"=20
                        border=3D0></FONT>=20
              =
</TD></TR></TBODY></TABLE></DIV></DIV></TD></TR></TBODY></TABLE></DIV></T=
D></TR></TBODY></TABLE></TD>
    <TD vAlign=3Dtop width=3D"100%">
      <TABLE id=3Drg11773 style=3D"HEIGHT: 0px" cellSpacing=3D0 =
cellPadding=3D0=20
      width=3D"100%" summary=3D"" border=3D0>
        <TBODY>
        <TR align=3Dleft>
          <TD=20
          style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
PADDING-BOTTOM: 0px; PADDING-TOP: 0px"=20
          vAlign=3Dtop width=3D"100%">
            <DIV id=3Dp33_2473070_33_786765_786765>
            <TABLE class=3DRegionNoBorder cellSpacing=3D0 =
cellPadding=3D0 width=3D"100%"=20
            border=3D0>
              <TBODY>
              <TR>
                <TD class=3DRegionHeaderColor width=3D"100%">
                  <DIV id=3Dpcnt33_2473070_33_786765_786765>
                  <DIV class=3DBodyid1siteid0>
                  <TABLE id=3Drg10214 cellSpacing=3D0 cellPadding=3D0 =
width=3D"100%"=20
                  summary=3D"" border=3D0>
                    <TBODY>
                    <TR align=3Dleft>
                      <TD=20
                      style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
PADDING-BOTTOM: 0px; PADDING-TOP: 0px"=20
                      vAlign=3Dtop width=3D"100%"><FONT=20
                        class=3Dinplacedisplayid1siteid0><!--[if IE]>
                        <STYLE type=3Dtext/css>.rpt_off {
	BORDER-RIGHT: 0px solid; BORDER-TOP: 0px solid; FONT-WEIGHT: bold; =
FONT-SIZE: 11px; BORDER-LEFT: 0px solid; TEXT-INDENT: 5px; PADDING-TOP: =
10px; BORDER-BOTTOM: 0px solid; FONT-FAMILY: Arial, Helvetica, =
sans-serif; HEIGHT: 31px; TEXT-DECORATION: none
}
.rpt_on {
	BORDER-RIGHT: medium none; BORDER-TOP: red 2px solid; FONT-WEIGHT: =
bold; FONT-SIZE: 11px; BORDER-LEFT: medium none; COLOR: #cccccc; =
TEXT-INDENT: 5px; PADDING-TOP: 8px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; HEIGHT: 31px; BACKGROUND-COLOR: #6f6f6f; TEXT-DECORATION: =
none
}
</STYLE>
<![endif]-->
                        <SCRIPT language=3Djavascript>

function fixIE6flicker(fix) {=20
try {=20
document.execCommand("BackgroundImageCache", false, fix);=20
} catch(err) { }=20
}=20
fixIE6flicker(true);


function mouseover(menuid,listid)
{
	document.getElementById(menuid).className=3D'rpt_on';
	document.getElementById(listid).style.display=3D'block';
	=
//document.getElementById(imgid).src=3D'http://oracleimg.com/admin/images=
/horznav_whtbullet_active.gif';
}
function mouseout(menuid,listid)
{
	document.getElementById(menuid).className=3D'rpt_off';
	document.getElementById(listid).style.display=3D'none';
	=
//document.getElementById(imgid).src=3D'http://oracleimg.com/admin/images=
/horznav_whtbullet_inactive.gif';
}

function is_child_of(parent, child) {
	if( child !=3D null ) {		=09
		while( child.parentNode ) {
			if( (child =3D child.parentNode) =3D=3D parent ) {
				return true;
			}
		}
	}
	return false;
}

function fixOnMouseOut(element, event, JavaScript_code) {
	var current_mouse_target =3D null;
	if( event.toElement ) {			=09
		current_mouse_target =3D event.toElement;
	} else if( event.relatedTarget ) {			=09
		current_mouse_target =3D event.relatedTarget;
	}
	if( !is_child_of(element, current_mouse_target) && element !=3D =
current_mouse_target ) {
		eval(JavaScript_code);
	}
}

function mailpage()
{
mail_str =3D "mailto:?subject=3DThought this might interest you: " + =
document.title;
mail_str +=3D "&body=3DI thought you might be interested in this: " + =
document.title;
mail_str +=3D ". %0A%0AYou can view it at, " + location.href;=20
location.href =3D mail_str;
}

function printerFriendly(template) {
    top.location =3D location.protocol=20
      + '//' + location.host=20
      + location.pathname=20
      + '?_template=3D' + template;
}

</SCRIPT>

                        <DIV class=3DhorznavContainer>
                        <TABLE cellSpacing=3D0 cellPadding=3D0 =
border=3D0>
                          <TBODY>
                          <TR>
                            <TD vAlign=3Dtop width=3D89><IMG height=3D31 =
hspace=3D0=20
                              =
src=3D"http://oracleimg.com/admin/images/horznav_shortcuts.gif"=20
                              align=3DabsMiddle border=3D0> </TD>
                            <TD vAlign=3Dtop>
                              <DIV class=3DmouseoverContainer=20
                              =
onmouseover=3D"mouseover('gstarted','list1','img1')"=20
                              onmouseout=3D"fixOnMouseOut(this, event, =
'mouseout(\'gstarted\',\'list1\',\'img1\');');">
                              <DIV class=3Drpt_off id=3Dgstarted><A=20
                              =
href=3D"http://www.oracle.com/technology/getting-started/index.html"=20
                              valign=3D"middle">GETTING =
STARTED</A></DIV>
                              <DIV class=3Ddropdown id=3Dlist1 =
style=3D"WIDTH: 150px">
                              <UL>
                                <LI><A=20
                                =
href=3D"http://www.oracle.com/technology/about/index.html">New=20
                                OTN Users</A>=20
                                <LI><A=20
                                =
href=3D"http://www.oracle.com/technology/developer/index.html">Developers=
</A>=20

                                <LI><A=20
                                =
href=3D"http://www.oracle.com/technology/dba/index.html">DBAs</A>=20

                                <LI><A=20
                                =
href=3D"http://www.oracle.com/technology/isv/index.html">ISVs</A>=20

                                <LI><A=20
                                =
href=3D"http://www.oracle.com/technology/getting-started/index.html">More=
...</A>=20
                                </LI></UL></DIV></DIV></TD>
                            <TD vAlign=3Dtop>
                              <DIV class=3DmouseoverContainer=20
                              =
onmouseover=3D"mouseover('download','list2','img2')"=20
                              onmouseout=3D"fixOnMouseOut(this, event, =
'mouseout(\'download\',\'list2\',\'img2\');');">
                              <DIV class=3Drpt_off id=3Ddownload><A=20
                              =
href=3D"http://www.oracle.com/technology/software/index.html">DOWNLOADS</=
A></DIV>
                              <DIV class=3Ddropdown id=3Dlist2=20
                              style=3D"DISPLAY: none; WIDTH: 170px">
                              <UL>
                                <LI><A=20
                                =
href=3D"http://www.oracle.com/technology/software/products/database/index=
.html">Database</A>=20

                                <LI><A=20
                                =
href=3D"http://www.oracle.com/technology/software/products/ias/index.html=
">Application=20
                                Server</A>=20
                                <LI><A=20
                                =
href=3D"http://www.oracle.com/technology/software/products/oem/index.html=
">Enterprise=20
                                Manager</A>=20
                                <LI><A=20
                                =
href=3D"http://www.oracle.com/technology/software/products/jdev/index.htm=
l">JDeveloper</A>=20

                                <LI><A=20
                                =
href=3D"http://www.oracle.com/technology/software/products/search/index.h=
tml">Secure=20
                                Enterprise Search</A>=20
                                <LI><A=20
                                =
href=3D"http://www.oracle.com/technology/software/index.html">More...</A>=
=20
                                </LI></UL></DIV></DIV></TD>
                            <TD vAlign=3Dtop>
                              <DIV class=3DmouseoverContainer=20
                              =
onmouseover=3D"mouseover('document','list3','img3')"=20
                              onmouseout=3D"fixOnMouseOut(this, event, =
'mouseout(\'document\',\'list3\',\'img3\');');">
                              <DIV class=3Drpt_off id=3Ddocument><A=20
                              =
href=3D"http://www.oracle.com/technology/documentation/index.html">DOCUME=
NTATION</A></DIV>
                              <DIV class=3Ddropdown id=3Dlist3=20
                              style=3D"DISPLAY: none; WIDTH: 155px">
                              <UL>
                                <LI><A=20
                                =
href=3D"http://www.oracle.com/technology/documentation/database.html">Dat=
abase</A>=20

                                <LI><A=20
                                =
href=3D"http://www.oracle.com/technology/documentation/appserver.html">Ap=
plication=20
                                Server</A>=20
                                <LI><A=20
                                =
href=3D"http://www.oracle.com/technology/documentation/oem.html">Enterpri=
se=20
                                Manager</A>=20
                                <LI><A=20
                                =
href=3D"http://www.oracle.com/technology/documentation/devsuite.html">Dev=
eloper=20
                                Suite</A>=20
                                <LI><A=20
                                =
href=3D"http://www.oracle.com/technology/documentation/jdev.html">JDevelo=
per</A>=20

                                <LI><A=20
                                =
href=3D"http://www.oracle.com/technology/documentation/collab.html">Colla=
boration=20
                                Suite</A>=20
                                <LI><A=20
                                =
href=3D"http://www.oracle.com/technology/documentation/applications.html"=
>Applications</A>=20

                                <LI><A=20
                                =
href=3D"http://www.oracle.com/technology/documentation/index.html">More..=
.</A>=20
                                </LI></UL></DIV></DIV></TD>
                            <TD vAlign=3Dtop>
                              <DIV class=3DmouseoverContainer=20
                              =
onmouseover=3D"mouseover('forums','list4','img4')"=20
                              onmouseout=3D"fixOnMouseOut(this, event, =
'mouseout(\'forums\',\'list4\',\'img4\');');">
                              <DIV class=3Drpt_off id=3Dforums><A=20
                              =
href=3D"http://forums.oracle.com/forums/categoryHome.jspa?categoryID=3D84=
">FORUMS</A></DIV>
                              <DIV class=3Ddropdown id=3Dlist4 =
style=3D"WIDTH: 210px">
                              <UL>
                                <LI><A=20
                                =
href=3D"http://forums.oracle.com/forums/category.jspa?categoryID=3D48">Te=
chnology=20
                                Network Community</A>=20
                                <LI><A=20
                                =
href=3D"http://forums.oracle.com/forums/category.jspa?categoryID=3D18">Da=
tabase</A>=20

                                <LI><A=20
                                =
href=3D"http://forums.oracle.com/forums/category.jspa?categoryID=3D13">Fu=
sion=20
                                Middleware</A>=20
                                <LI><A=20
                                =
href=3D"http://forums.oracle.com/forums/category.jspa?categoryID=3D19">De=
veloper=20
                                Tools</A>=20
                                <LI><A=20
                                =
href=3D"http://forums.oracle.com/forums/category.jspa?categoryID=3D70">En=
terprise=20
                                Manager</A>=20
                                <LI><A=20
                                =
href=3D"http://forums.oracle.com/forums/category.jspa?categoryID=3D16">EP=
M/Business=20
                                Intelligence</A>=20
                                <LI><A=20
                                =
href=3D"http://forums.oracle.com/forums/category.jspa?categoryID=3D10">Te=
chnologies</A>=20

                                <LI><A=20
                                =
href=3D"http://forums.oracle.com/forums/categoryHome.jspa?categoryID=3D84=
">More...</A>=20
                                </LI></UL></DIV></DIV></TD>
                            <TD vAlign=3Dtop>
                              <DIV class=3DmouseoverContainer=20
                              =
onmouseover=3D"mouseover('articles','list5','img5')"=20
                              onmouseout=3D"fixOnMouseOut(this, event, =
'mouseout(\'articles\',\'list5\',\'img5\');');">
                              <DIV class=3Drpt_off id=3Darticles><A=20
                              =
href=3D"http://www.oracle.com/technology/pub/articles/index.html">ARTICLE=
S</A></DIV>
                              <DIV class=3Ddropdown id=3Dlist5 =
style=3D"WIDTH: 150px">
                              <UL>
                                <LI><A=20
                                =
href=3D"http://www.oracle.com/technology/pub/articles/tech_dev.html">For =

                                Developers</A>=20
                                <LI><A=20
                                =
href=3D"http://www.oracle.com/technology/pub/articles/tech_dba.html">For =

                                DBAs</A>=20
                                <LI><A=20
                                =
href=3D"http://www.oracle.com/technology/oramag/oracle/current.html">Orac=
le=20
                                Mag. Current</A>=20
                                <LI><A=20
                                =
href=3D"http://www.oracle.com/technology/oramag/oracle/index.html">Oracle=
=20
                                Mag. Archives</A>=20
                                <LI><A=20
                                =
href=3D"http://www.oracle.com/oramag/index.html">Oracle=20
                                Publishing</A> =
</LI></UL></DIV></DIV></TD>
                            <TD vAlign=3Dtop>
                              <DIV class=3DmouseoverContainer=20
                              =
onmouseover=3D"mouseover('samplecode','list6','img6')"=20
                              onmouseout=3D"fixOnMouseOut(this, event, =
'mouseout(\'samplecode\',\'list6\',\'img6\');');">
                              <DIV class=3Drpt_off id=3Dsamplecode><A=20
                              =
href=3D"http://www.oracle.com/technology/sample_code/index.html">SAMPLE=20
                              CODE</A></DIV>
                              <DIV class=3Ddropdown id=3Dlist6 =
style=3D"WIDTH: 150px">
                              <UL>
                                <LI><A=20
                                =
href=3D"http://www.oracle.com/technology/tech/java/ajax.html">Ajax</A>=20

                                <LI><A=20
                                =
href=3D"http://www.oracle.com/technology/tech/java/ejb30.html">EJB</A>=20

                                <LI><A=20
                                =
href=3D"http://www.oracle.com/technology/sample_code/tech/java/j2ee/index=
.html">J2EE</A>=20

                                <LI><A=20
                                =
href=3D"http://www.oracle.com/technology/tech/java/jsf.html">JavaServer=20
                                Faces</A>=20
                                <LI><A=20
                                =
href=3D"http://www.oracle.com/technology/sample_code/tech/java/sqlj_jdbc/=
index.html">JDBC</A>=20

                                <LI><A=20
                                =
href=3D"http://www.oracle.com/technology/sample_code/tech/pl_sql/index.ht=
ml">PL/SQL</A>=20

                                <LI><A=20
                                =
href=3D"http://www.oracle.com/technology/sample_code/index.html">More...<=
/A>=20
                                </LI></UL></DIV></DIV></TD>
                            <TD vAlign=3Dtop>
                              <DIV class=3DmouseoverContainer=20
                              =
onmouseover=3D"mouseover('tutorials','list7','img7')"=20
                              onmouseout=3D"fixOnMouseOut(this, event, =
'mouseout(\'tutorials\',\'list7\',\'img7\');');">
                              <DIV class=3Drpt_off id=3Dtutorials><A=20
                              =
href=3D"http://www.oracle.com/technology/obe/start/index.html">TUTORIALS<=
/A></DIV>
                              <DIV class=3Ddropdown id=3Dlist7 =
style=3D"WIDTH: 170px">
                              <UL>
                                <LI><A=20
                                =
href=3D"http://www.oracle.com/technology/obe/start/index.html">Tutorials =

                                Index</A>=20
                                <LI><A=20
                                =
href=3D"http://www.oracle.com/technology/obe/11gr1_db/index.htm">Database=
</A>=20

                                <LI><A=20
                                =
href=3D"http://www.oracle.com/technology/obe/ovm/ovmel5pvmdb11gr1/ovmel5p=
vmdb11gr1.htm">Oracle=20
                                VM</A>=20
                                <LI><A=20
                                =
href=3D"http://www.oracle.com/technology/obe/fusion_middleware/index.htm"=
>Fusion=20
                                Middleware</A>=20
                                <LI><A=20
                                =
href=3D"http://www.oracle.com/technology/obe/obe_as_1012/index.html">Appl=
ication=20
                                Server</A>=20
                                <LI><A=20
                                =
href=3D"http://www.oracle.com/technology/obe/start/em.html">Enterprise=20
                                Manager</A>=20
                                <LI><A=20
                                =
href=3D"http://www.oracle.com/technology/obe/obe1013jdev/index.htm">JDeve=
loper</A>=20

                                <LI><A=20
                                =
href=3D"http://www.oracle.com/technology/obe/obe_bi/bi.html">Business=20
                                Intelligence</A>=20
                                <LI><A=20
                                =
href=3D"http://www.oracle.com/technology/obe/obeocs_1012/admin/install/in=
dex.html">Collaboration=20
                                Suite</A>=20
                                <LI><A=20
                                =
href=3D"http://www.oracle.com/technology/obe/demos/admin/demos.html">Demo=
s</A>=20

                                <LI><A=20
                                =
href=3D"http://www.oracle.com/technology/obe/start/index.html">More...</A=
>=20
                                </LI></UL></DIV></DIV></TD><!-- td =
valign=3D"top"><div class=3D"mouseoverContainer" =
onMouseOver=3D"mouseover('blogs','list8','img8')" =
onMouseOut=3D"fixOnMouseOut(this, event, =
'mouseout(\'blogs\',\'list8\',\'img8\');');">
            <div class=3D"rpt_off" id=3D"blogs"><a =
href=3D"http://blogs.oracle.com">BLOGS</a></div>
            <div style=3D"width: 170px;" id=3D"list8" =
class=3D"dropdown">
              <ul>
                <li><a =
href=3D"http://blogs.oracle.com">blogs.oracle.com</a></li>
                <li><a href=3D"http://blogs.oracle.com/otn/">Oracle's =
OTN TechBlog</a></li>
                <li><a =
href=3D"/technology/syndication/podcasts/index.html">Podcasts</a></li>
              </ul>
            </div>
          </div></td -->
                            <TD vAlign=3Dtop width=3D1><IMG height=3D31=20
                              =
src=3D"http://oracleimg.com/admin/images/horznav_divider.gif"=20
                              width=3D1></TD></TR></TBODY></TABLE></DIV>
                        <DIV class=3DpvebbodyContainer>
                        <TABLE cellSpacing=3D0 cellPadding=3D0 =
align=3Dright=20
                          border=3D0><TBODY>
                          <TR>
                            <TD vAlign=3Dtop width=3D20><IMG height=3D20 =
hspace=3D0=20
                              =
src=3D"http://oracleimg.com/admin/images/tools_corner.gif"=20
                              width=3D20 align=3Dtop border=3D0></TD>
                            <TD class=3Dpvebbodylink vAlign=3Dabsmiddle =
noWrap=20
                            align=3Dmiddle height=3D16><A=20
                              href=3D"javascript: =
printerFriendly('/ocom/print');"><IMG=20
                              height=3D16 alt=3Dprint hspace=3D0=20
                              =
src=3D"http://oracleimg.com/admin/images/print_button.gif"=20
                              width=3D19 align=3DabsMiddle =
border=3D0></A><A=20
                              href=3D"javascript: =
printerFriendly('/ocom/print');">=20
                              Printer View</A></TD>
                            <TD class=3Dpvebbodylink =
vAlign=3Dcenter><IMG=20
                              height=3D20 hspace=3D0=20
                              =
src=3D"http://oracleimg.com/admin/images/tools_divider.gif"=20
                              width=3D1 border=3D0 =
valign=3D"middle"></TD>
                            <TD class=3Dpvebbodylink vAlign=3Dabsmiddle =
noWrap=20
                            align=3Dmiddle height=3D16><A=20
                              href=3D"javascript:mailpage();"><IMG =
height=3D16=20
                              alt=3De-mail hspace=3D0=20
                              =
src=3D"http://oracleimg.com/admin/images/email_button.gif"=20
                              width=3D19 align=3DabsMiddle =
border=3D0></A><A=20
                              href=3D"javascript:mailpage();"> E-mail =
this=20
                            page</A></TD>
                            <TD class=3Dpvebbodylink =
vAlign=3Dcenter><IMG=20
                              height=3D20 hspace=3D0=20
                              =
src=3D"http://oracleimg.com/admin/images/tools_divider.gif"=20
                              width=3D1 align=3Dmiddle border=3D0></TD>
                            <SCRIPT language=3Djavascript>addthis_pub  =
=3D 'otn';
addthis_offset_left =3D 86; </SCRIPT>

                            <TD class=3Dpvebbodylink =
style=3D"PADDING-RIGHT: 10px"=20
                            vAlign=3Dabsmiddle noWrap align=3Dmiddle =
height=3D16><A=20
                              onmouseover=3D"return addthis_open(this, =
'', '[URL]', '[TITLE]')"=20
                              onclick=3D"return addthis_sendto()"=20
                              onmouseout=3Daddthis_close()=20
                              =
href=3D"http://www.addthis.com/bookmark.php?v=3D12&amp;winname=3Daddthis&=
amp;pub=3Doraclecom&amp;s=3D&amp;url=3Dhttp%3A%2F%2Fwww.oracle.com%2Fprod=
ucts%2Findex.html&amp;title=3DProducts%20and%20Services%20%7C%20Oracle"><=
IMG=20
                              height=3D16 alt=3DBookmark hspace=3D0=20
                              =
src=3D"http://oracleimg.com/admin/images/addthis_button.gif"=20
                              width=3D16 align=3DabsMiddle border=3D0> =
Bookmark</A>
                              <SCRIPT=20
                              =
src=3D"http://s7.addthis.com/js/152/addthis_widget.js"=20
                              type=3Dtext/javascript></SCRIPT>
                              =20
                  =
</TD></TR></TBODY></TABLE></DIV></FONT></TD></TR></TBODY></TABLE></DIV></=
DIV></TD></TR></TBODY></TABLE></DIV></TD></TR></TBODY></TABLE>
      <TABLE id=3Drg5236 style=3D"HEIGHT: 0px" cellSpacing=3D0 =
cellPadding=3D0=20
      width=3D"100%" summary=3D"" border=3D0>
        <TBODY>
        <TR>
          <TD width=3D"100%"><IMG height=3D1 alt=3D""=20
            src=3D"http://www.oracle.com/portalimages/pobtrans.gif"=20
        width=3D1></TD></TR></TBODY></TABLE>
      <TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" summary=3D"" =
border=3D0>
        <TBODY>
        <TR>
          <TD vAlign=3Dtop width=3D"100%">
            <TABLE id=3Drg9999 style=3D"HEIGHT: 0px" cellSpacing=3D0 =
cellPadding=3D0=20
            width=3D"100%" summary=3D"" border=3D0>
              <TBODY>
              <TR align=3Dleft>
                <TD=20
                style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
PADDING-BOTTOM: 0px; PADDING-TOP: 0px"=20
                vAlign=3Dtop width=3D"100%">
                  <TABLE class=3Dbodycopy cellSpacing=3D0 =
cellPadding=3D8 width=3D"100%"=20
                  border=3D0>
                    <TBODY>
                    <TR>
                      <TD><SPAN class=3Dboldbodycopy><FONT=20
                        color=3D#666666>Developer: Open =
Source</FONT></SPAN> <!-- start of download and tags box -->
                        <TABLE cellSpacing=3D0 cellPadding=3D5 =
width=3D200 align=3Dright=20
                        border=3D0>
                          <TBODY>
                          <TR>
                            <TD>
                              <TABLE cellSpacing=3D0 cellPadding=3D0 =
width=3D200=20
                              align=3Dright border=3D0>
                                <TBODY>
                                <TR vAlign=3Dtop>
                                <TD vAlign=3Dtop colSpan=3D3 =
height=3D21>
                                <TABLE cellSpacing=3D0 cellPadding=3D0 =
width=3D200=20
                                border=3D0>
                                <TBODY>
                                <TR>
                                <TD width=3D1 bgColor=3D#cccccc =
height=3D21=20
                                rowSpan=3D3><IMG height=3D1=20
                                =
src=3D"http://www.oracle.com/admin/images/ocom/spacer.gif"=20
                                width=3D1 border=3D0></TD>
                                <TD width=3D198 bgColor=3D#cccccc =
height=3D1><IMG=20
                                height=3D1=20
                                =
src=3D"http://www.oracle.com/admin/images/ocom/spacer.gif"=20
                                width=3D"100%" border=3D0></TD>
                                <TD width=3D1 bgColor=3D#cccccc =
height=3D21=20
                                rowSpan=3D3><IMG height=3D1=20
                                =
src=3D"http://www.oracle.com/admin/images/ocom/spacer.gif"=20
                                width=3D1 border=3D0></TD></TR>
                                <TR>
                                <TD class=3DportletTitle width=3D198 =
bgColor=3D#cccccc=20
                                =
height=3D19>&nbsp;&nbsp;<B>DOWNLOAD</B></TD></TR>
                                <TR>
                                <TD bgColor=3D#cccccc height=3D1><IMG =
height=3D1=20
                                =
src=3D"http://www.oracle.com/admin/images/ocom/spacer.gif"=20
                                width=3D1=20
                                =
border=3D0></TD></TR></TBODY></TABLE></TD></TR>
                                <TR>
                                <TD width=3D1 bgColor=3D#cccccc =
height=3D1><IMG=20
                                height=3D1=20
                                =
src=3D"http://www.oracle.com/admin/images/ocom/spacer.gif"=20
                                width=3D1 border=3D0></TD>
                                <TD vAlign=3Dtop width=3D198 =
bgColor=3D#efefef=20
                                height=3D1><IMG height=3D1=20
                                =
src=3D"http://www.oracle.com/admin/images/ocom/spacer.gif"=20
                                width=3D198 border=3D0></TD>
                                <TD width=3D1 bgColor=3D#cccccc =
height=3D1><IMG=20
                                height=3D1=20
                                =
src=3D"http://www.oracle.com/admin/images/ocom/spacer.gif"=20
                                width=3D1 border=3D0></TD></TR>
                                <TR>
                                <TD width=3D1 bgColor=3D#cccccc =
height=3D1><IMG=20
                                height=3D1=20
                                =
src=3D"http://www.oracle.com/admin/images/ocom/spacer.gif"=20
                                width=3D1 border=3D0></TD>
                                <TD vAlign=3Dtop width=3D198 height=3D1>
                                <TABLE cellSpacing=3D0 cellPadding=3D6 =
border=3D0>
                                <TBODY>
                                <TR>
                                <TD vAlign=3Dtop width=3D186>
                                <TABLE cellSpacing=3D0 cellPadding=3D1 =
width=3D"100%"=20
                                bgColor=3D#ffffff border=3D0>
                                <TBODY>
                                <TR>
                                <TD>
                                <TABLE cellPadding=3D0 width=3D"100%" =
border=3D0>
                                <TBODY>
                                <TR>
                                <TD class=3Dtexta><IMG height=3D5=20
                                =
src=3D"http://oracleimg.com/admin/images/ocom/bullet_5x5.gif"=20
                                width=3D5 align=3Dbaseline border=3D0> =
<A=20
                                class=3Dbodylink=20
                                =
href=3D"http://www.oracle.com/technology/software/products/database/xe/in=
dex.html">Oracle=20
                                Database XE <I></I></A><BR><IMG =
height=3D5=20
                                =
src=3D"http://oracleimg.com/admin/images/ocom/bullet_5x5.gif"=20
                                width=3D5 align=3Dbaseline border=3D0> =
<A=20
                                class=3Dbodylink=20
                                =
href=3D"http://rubyinstaller.rubyforge.org/">RubyGems</A></TD></TR></TBOD=
Y></TABLE></TD></TR>
                                <TR>
                                <TD=20
                                =
colSpan=3D2></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD>
                                <TD width=3D1 bgColor=3D#cccccc><IMG =
height=3D15=20
                                =
src=3D"http://www.oracle.com/admin/images/ocom/spacer.gif"=20
                                width=3D1 border=3D0></TD></TR>
                                <TR>
                                <TD bgColor=3D#cccccc colSpan=3D3 =
height=3D1><IMG=20
                                height=3D1=20
                                =
src=3D"http://www.oracle.com/admin/images/ocom/spacer.gif"=20
                                width=3D1 =
border=3D0></TD></TR></TBODY></TABLE></TD></TR>
                          <TR>
                            <TD>
                              <TABLE cellSpacing=3D0 cellPadding=3D0 =
width=3D200=20
                              align=3Dright border=3D0>
                                <TBODY>
                                <TR vAlign=3Dtop>
                                <TD vAlign=3Dtop colSpan=3D3 =
height=3D21>
                                <TABLE cellSpacing=3D0 cellPadding=3D0 =
width=3D200=20
                                border=3D0>
                                <TBODY>
                                <TR>
                                <TD width=3D1 bgColor=3D#cccccc =
height=3D21=20
                                rowSpan=3D3><IMG height=3D1=20
                                =
src=3D"http://www.oracle.com/admin/images/ocom/spacer.gif"=20
                                width=3D1 border=3D0></TD>
                                <TD width=3D198 bgColor=3D#cccccc =
height=3D1><IMG=20
                                height=3D1=20
                                =
src=3D"http://www.oracle.com/admin/images/ocom/spacer.gif"=20
                                width=3D198 border=3D0></TD>
                                <TD width=3D1 bgColor=3D#cccccc =
height=3D21=20
                                rowSpan=3D3><IMG height=3D1=20
                                =
src=3D"http://www.oracle.com/admin/images/ocom/spacer.gif"=20
                                width=3D1 border=3D0></TD></TR>
                                <TR>
                                <TD class=3DportletTitle width=3D200 =
bgColor=3D#cccccc=20
                                =
height=3D19>&nbsp;&nbsp;<B>TAGS</B></TD></TR>
                                <TR>
                                <TD bgColor=3D#cccccc height=3D1><IMG =
height=3D1=20
                                =
src=3D"http://www.oracle.com/admin/images/ocom/spacer.gif"=20
                                width=3D1=20
                                =
border=3D0></TD></TR></TBODY></TABLE></TD></TR>
                                <TR>
                                <TD width=3D1 bgColor=3D#cccccc =
height=3D1><IMG=20
                                height=3D1=20
                                =
src=3D"http://www.oracle.com/admin/images/ocom/spacer.gif"=20
                                width=3D1 border=3D0></TD>
                                <TD vAlign=3Dtop width=3D198 =
bgColor=3D#efefef=20
                                height=3D1><IMG height=3D1=20
                                =
src=3D"http://www.oracle.com/admin/images/ocom/spacer.gif"=20
                                width=3D198 border=3D0></TD>
                                <TD width=3D1 bgColor=3D#cccccc =
height=3D1><IMG=20
                                height=3D1=20
                                =
src=3D"http://www.oracle.com/admin/images/ocom/spacer.gif"=20
                                width=3D1 border=3D0></TD></TR>
                                <TR>
                                <TD width=3D1 bgColor=3D#cccccc =
height=3D1><IMG=20
                                height=3D1=20
                                =
src=3D"http://www.oracle.com/admin/images/ocom/spacer.gif"=20
                                width=3D1 border=3D0></TD>
                                <TD vAlign=3Dtop width=3D200 height=3D1>
                                <TABLE cellSpacing=3D0 cellPadding=3D6 =
border=3D0>
                                <TBODY>
                                <TR>
                                <TD vAlign=3Dtop>
                                <TABLE cellSpacing=3D0 cellPadding=3D1 =
width=3D"100%"=20
                                bgColor=3D#ffffff border=3D0>
                                <TBODY>
                                <TR>
                                <TD>
                                <TABLE cellPadding=3D0 width=3D"100%" =
border=3D0>
                                <TBODY>
                                <TR>
                                <TD class=3Dbodycopy><A class=3Dbodylink =

                                =
href=3D"http://del.icio.us/OracleTechnologyNetwork/opensource">opensource=
</A>,=20
                                <A class=3Dbodylink=20
                                =
href=3D"http://del.icio.us/OracleTechnologyNetwork/ruby">ruby</A>,=20
                                <A class=3Dbodylink=20
                                =
href=3D"http://del.icio.us/OracleTechnologyNetwork/xe">xe</A>,=20
                                <A class=3Dbodylink=20
                                =
href=3D"http://del.icio.us/OracleTechnologyNetwork">All</A></TD></TR></TB=
ODY></TABLE></TD></TR>
                                <TR>
                                <TD=20
                                =
colSpan=3D2></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD>
                                <TD width=3D1 bgColor=3D#cccccc><IMG =
height=3D15=20
                                =
src=3D"http://www.oracle.com/admin/images/ocom/spacer.gif"=20
                                width=3D1 border=3D0></TD></TR>
                                <TR>
                                <TD bgColor=3D#cccccc colSpan=3D3 =
height=3D1><IMG=20
                                height=3D1=20
                                =
src=3D"http://www.oracle.com/admin/images/ocom/spacer.gif"=20
                                width=3D1=20
                          =
border=3D0></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><!-- end =
of download and tags box -->
                        <P><SPAN class=3Dtopstoryhead>Ruby on Rails on =
Oracle: A=20
                        Simple Tutorial</SPAN><BR><SPAN=20
                        class=3Ditalicbodycopy><BR>by Richard=20
                        Monson-Haefel</SPAN></P>
                        <P><SPAN class=3Dboldbodycopy>Rails is an easy =
framework=20
                        to work with, but like any technology it takes =
time to=20
                        master.</SPAN></P>
                        <P></P>
                        <P class=3Dlegalese>Published April 2006 </P>
                        <P><IMG=20
                        =
src=3D"http://www.oracle.com/admin/images/otn/r_arrow.gif">=20
                        Comments about this article? Visit the <A =
class=3Dbodylink=20
                        =
href=3D"http://forums.oracle.com/forums/forum.jspa?forumID=3D377">Ruby/Ro=
R=20
                        Discussion Forum</A>=20
                        <P>You may have already heard about Ruby on =
Rails, the=20
                        new application framework that seems to be =
taking the=20
                        Web development community, in particular J2EE =
and PHP=20
                        programmers, by storm. </P>
                        <P>Rails is a capable Web application platform =
and has,=20
                        in less than two years, gained significant =
traction=20
                        among J2EE and PHP programmers. The attraction =
of both=20
                        J2EE and PHP programmers makes a lot of sense =
when you=20
                        look at the strengths of Rails. For one thing, =
it uses a=20
                        strict model-view-controller architecture that =
any=20
                        self-respecting design-patterns wonk would =
admire=E2=80=94this=20
                        explains its attraction to J2EE developers. =
Second, it=E2=80=99s=20
                        easy to build basic systems with =
Rails=E2=80=94which is=20
                        attractive to PHP developers. </P>
                        <P>However, Rails has some pretty significant=20
                        limitations from a database perspective. Rails =
makes a=20
                        lot of assumptions about your database layout =
and=20
                        application needs. For example, Rails assumes =
that all=20
                        tables use a single, non-compound, primary key. =
Compound=20
                        primary keys are not supported! In addition, =
Rails does=20
                        not support two-phase commit; it supports =
multiple=20
                        databases, but cannot coordinate transactions =
among=20
                        them. </P>
                        <P>This article is not intended to be a booster =
piece=20
                        for Rails nor is it an expose. It=E2=80=99s =
simply an=20
                        introduction to the technology. It contains both =
praise=20
                        and criticism. At times the criticism might =
appear a bit=20
                        heavy handed (especially to Rails enthusiasts), =
but=20
                        don=E2=80=99t be fooled. Using any Web =
application framework is=20
                        going to be tricky, whether it=E2=80=99s J2EE, =
ASP.NET, or PHP.=20
                        In the long run, you can be a lot more =
productive with=20
                        Rails than you can be with many other Web =
application=20
                        development platforms, but it takes time to =
learn the=20
                        ropes. </P><SPAN class=3Dparahead1>What is Ruby? =
What is=20
                        Rails?</SPAN>=20
                        <P>Ruby is a dynamic programming language =
similar in=20
                        many respects to Perl, Python, and Smalltalk, =
but it is=20
                        its own animal. Java and PHP programmers seem to =
pick up=20
                        the language pretty easily and they have been =
Ruby=E2=80=99s=20
                        biggest supporters. But others have been =
attracted to=20
                        the language, too; including Don Box, who is =
well known=20
                        as one of the wonkiest-wonks of the Microsoft =
world.=20
</P>
                        <P>Ruby is not new; it was created in 1993, =
making it=20
                        older than Java or PHP, both of which were first =

                        introduced to the public in 1995. So while Ruby =
is a=20
                        mature language, it=E2=80=99s been less popular =
than some other=20
                        languages. As a result, the ecosystem that =
surrounds the=20
                        Ruby programming language is not as rich as =
those that=20
                        have grown up around Java, PHP, or Perl. =
Consequently,=20
                        you will find fewer frameworks, libraries, =
books, Web=20
                        sites, blogs, and other resources dedicated to =
the=20
                        language. </P>
                        <P>The marketing impotence of the Ruby community =
changed=20
                        recently, when David Heinemeier Hanson =
introduced the=20
                        Rails framework, arguably the most popular =
application=20
                        of Ruby in its history. Rails extends the Ruby=20
                        programming language into a domain specific =
language=20
                        especially well suited for web development. It =
also=20
                        leverages ActiveRecord, another language =
extension that=20
                        adapts Ruby to object-relational persistence. =
Other than=20
                        Rails=E2=80=99 lack of support for compound =
primary keys and=20
                        two-phase commit, its biggest obstacle to =
adoption has=20
                        been that you need to learn a new programming =
language=20
                        to use it. This is not something that most =
people can=20
                        simply ignore with a lot of hand-waving; =
learning a new=20
                        language can be a fun but daunting task. </P>
                        <P>If, however, you were interested in expanding =
your=20
                        resume, I can think of no other language I would =

                        recommend higher than Ruby. Ruby represents the=20
                        culmination of 10 years of development without =
the=20
                        tampering of commercial interests. As a result, =
Ruby is=20
                        a delight to work with and, in many cases, is an =
order=20
                        of magnitude more productive than Java, C, or =
Microsoft=20
                        .NET languages. (The exception may be =
IronPython, a port=20
                        of the Python language to the Microsoft .NET=20
                        environment. Python, like Ruby, is a dynamic and =

                        productive programming language.) </P><SPAN=20
                        class=3Dparahead1>What is Rails For?</SPAN>=20
                        <P>Rails is designed from the ground up to =
create=20
                        dynamic Web sites that use a relational database =

                        backend. It adds key words to the Ruby =
programming=20
                        language that make Web applications easier to =
configure.=20
                        In addition, it=E2=80=99s designed to =
automatically generate a=20
                        complete, if somewhat crude, Web application =
from an=20
                        existing database schema. The latter is both =
Ruby=E2=80=99s=20
                        greatest strength and its Achilles=E2=80=99 =
heel. Rails makes=20
                        assumptions about database schema naming =
conventions=20
                        that, if followed, make generating a basic Web =
site a=20
                        matter of executing single command. But to do =
this may=20
                        require additional configurations or in some =
cases may=20
                        not be possible at all. You=E2=80=99re also =
likely to find that=20
                        just about every database convention that Rails =
expects=20
                        can be overridden, but the more overriding that =
is=20
                        needed, the less productive the platform =
becomes. This=20
                        is why Rails is great when developing =
=E2=80=9Cgreen-field=E2=80=9D=20
                        applications with new databases. Unfortunately, =
it=E2=80=99s not=20
                        a great solution when dealing with legacy =
systems. </P>
                        <P>The best way to appreciate Rails in =
green-field=20
                        application development is via an example. If =
you=20
                        already have an Oracle database installed on =
which you=20
                        can create new databases and tables, it should =
take less=20
                        than 15 minutes to create a complete Web =
application. In=20
                        this case, we=E2=80=99ll use Ruby of Rails to =
build a product=20
                        catalog. </P><SPAN class=3Dparahead1>Example: A =
Simple=20
                        Product Catalog</SPAN>=20
                        <P>Last year I started investing in high-grade =
(HG)=20
                        comic books, specifically old issues from as far =
back as=20
                        1946. I created a simple Ruby on Rails database=20
                        application that allows me to insert, remove, =
modify and=20
                        delete new comics as I buy and sell them. =
It=E2=80=99s only=20
                        intended for my use, so I kept it pretty simple. =
The=20
                        application that will be developed in this =
article is a=20
                        trimmed down version of the Ruby on Rails =
application I=20
                        use at home. </P>
                        <P>Although Rails and Oracle Database can be =
used on a=20
                        variety of platforms, this article focuses on =
Windows=20
                        XP, arguably one of the most frequently used =
operating=20
                        systems by Oracle application developers. This =
example=20
                        is pretty simple; it=E2=80=99s essentially the =
database=20
                        equivalent of a =E2=80=9CHello World=E2=80=9D =
programming language=20
                        example. It=E2=80=99s designed to give you a =
small taste of=20
                        Ruby, but it doesn=E2=80=99t represent the full =
capabilities of=20
                        Rails, any more than a =E2=80=9CHello =
World=E2=80=9D example=20
                        demonstrates the full capabilities of any =
programming=20
                        language. </P>
                        <P>If you experience problems running this =
example, it=E2=80=99s=20
                        likely to be for one of three reasons: Either =
you=20
                        downloaded the wrong code, your database is not =
set up=20
                        to allow you to connect to it, or your Windows =
XP=20
                        operating system is giving you problems. In =
developing=20
                        this example, I had a number of problems related =
to=20
                        versioning and database =
configuration=E2=80=94all of which were=20
                        a result of ignorance. I leaned heavily on a =
friend of=20
                        mine, Michael Carland, to get everything working =
and to=20
                        make this example as simple as possible. </P>
                        <P>The fact of the matter is, getting Ruby on =
Rails and=20
                        Oracle to work together is not trivial. In fact, =
it can=20
                        be a bit frustrating at times. Follow the =
directions in=20
                        this article exactly and you shouldn=E2=80=99t =
have problems.=20
                        However, once you step outside the boundaries of =
this=20
                        example, expect to have some issues. Rails can =
be very=20
                        productive, but it=E2=80=99s a command-line =
development=20
                        environment and doesn=E2=80=99t come with all of =
the =E2=80=9Cautomagic=E2=80=9D=20
                        typically associated with advanced integrated=20
                        development environments. If you are not a=20
                        =E2=80=9Cdo-it-yourself=E2=80=9D technical =
person, than I wouldn=E2=80=99t=20
                        recommend Rails to you at this time. </P><SPAN=20
                        class=3Dboldbodycopy>Step 1: Set up the Oracle=20
                        database</SPAN>=20
                        <P>You wouldn=E2=80=99t be reading this article =
if you were not=20
                        interested in using Rails in combination with =
Oracle, so=20
                        you=E2=80=99ll need to have an installed =
instance of the Oracle=20
                        database and you=E2=80=99ll need to add a single =
table to the=20
                        database. It=E2=80=99s important that you follow =
the exact=20
                        naming conventions used in this article, =
otherwise a lot=20
                        of the automatic code generation provided by =
Rails=20
                        simply won=E2=80=99t work (without some =
tweaking). The table you=20
                        need to create is described as follows: =
</P><PRE>CREATE TABLE comics (
	id		NUMBER(10) NOT NULL,
	title		VARCHAR2(60),
	issue		NUMBER(4),
	publisher	VARCHAR2(60),
	PRIMARY KEY (id)
);
CREATE SEQUENCE comics_seq;
</PRE>
                        <P>There is a SQL Script file <A =
class=3Dbodylink=20
                        =
href=3D"http://www.oracle.com/technology/pub/files/comics.sql">here</A>=20
                        which you can use to create the table and add =
some=20
                        product data. I suggest that you use it so that =
your=20
                        application is consistent with the one being =
developed=20
                        here. The easiest way to do that is to use =
SQL*Plus as=20
                        follows. (The assumption is that you already =
have an=20
                        Oracle database installed and know how to use =
it.) </P>
                        <P>Using SQL*Plus, create a user with DBA =
privileges=20
                        that you can use for this application. =
</P><PRE>SQL&gt; GRANT dba TO ruby IDENTIFIED BY ruby;
SQL&gt; ALTER USER ruby DEFAULT TABLESPACE users TEMPORARY TABLESPACE =
temp;
SQL&gt; EXIT
</PRE>
                        <P>Using the SQL file, create the application =
table,=20
                        COMICS, and insert some example data. =
</P><PRE>C:\&gt; sqlplus ruby/ruby@rails @comics.sql</PRE>
                        <P>As you may have noticed, the COMICS table =
created for=20
                        this example is plural, which may appear =
problematic=20
                        since a common approach is to give tables =
singular names=20
                        (e.g. COMIC). However, Rails takes the approach =
that=20
                        tables should be named in the plural. This =
default can=20
                        be overridden using a Rails configuration but =
using=20
                        plural names is easier. </P><SPAN=20
                        class=3Dboldbodycopy>Step 2: Install Ruby, =
RubyGems,=20
                        Rails, and the Rails Oracle library</SPAN>=20
                        <P>There are two pieces of software =
you=E2=80=99ll need in order=20
                        to use Rails on Windows XP: the Ruby programming =

                        language with RubyGems installation package, =
Rails 1.0=20
                        (1.1 was recently released; this articles =
addresses 1.0=20
                        only), and the Rails Oracle database library. To =

                        download and install Ruby with the Gems package=20
                        installer, do the following. </P>
                        <OL>
                          <LI>Go to <A class=3Dbodylink=20
                          =
href=3D"http://rubyinstaller.rubyforge.org/">http://rubyinstaller.rubyfor=
ge.org/</A>.=20

                          <LI>Download the =E2=80=9COne-Click Ruby =
Installer=E2=80=9D.=20
                          <LI>Follow the installation instructions. =
</LI></OL>
                        <P>Once the Ruby programming platform is =
installed you=20
                        can use RubyGems, a Ruby application that allows =
you to=20
                        install Ruby frameworks very easily. To install =
the=20
                        Rails application development framework, all you =
need to=20
                        do is open a command-line prompt and type in a =
single=20
                        command. </P><PRE>C:\&gt; gem install rails -v =
1.0.0 --remote</PRE>
                        <P>Now that you have Ruby, RubyGems, and Rails =
installed=20
                        you can install a specialized code library that =
will=20
                        allow your Rails applications to talk to your =
Oracle=20
                        database server. To download and install Oracle =
Rails=20
                        library, go to <A class=3Dbodylink=20
                        =
href=3D"http://rubyforge.org/projects/ruby-oci8">http://rubyforge.org/pro=
jects/ruby-oci8</A>,=20
                        download ruby-oci8-0.1.13-mswin.r to your C =
drive, and=20
                        then using your command window, execute the =
following=20
                        command. </P><PRE>C:\&gt; ruby =
ruby-oci8-0.1.13-mswin.rb</PRE>
                        <P>Assuming that everything went smoothly, you =
have now=20
                        installed Ruby, Rails, and the Rails-Oracle =
connection=20
                        library. You are now ready to create your first =
Ruby on=20
                        Rails Web application. </P><SPAN =
class=3Dboldbodycopy>Step=20
                        3: Create the Web Application</SPAN>=20
                        <P>In order to create your new Rails =
application, you=20
                        will need to create a new Rails project as =
follows. </P>
                        <P>Create a new project using the rails command =
line=20
                        application (this will automatically create a =
new=20
                        directory). </P><PRE>C:\&gt; rails =
comics_catalog</PRE>
                        <P>Change directories so you are in the new =
project=20
                        directory created in the previous step. =
</P><PRE>C:\&gt; cd comics_catalog
C:\comics_catalog&gt;
</PRE>
                        <P>Now that you have a new Rails project =
directory,=20
                        you=E2=80=99ll need to configure your project so =
that the Rails=20
                        applications will use the Rails-Oracle =
connection=20
                        library. </P>
                        <P>Within your project directory, there is a =
directory=20
                        called config and in it is a file named =
database.yml.=20
                        You need to edit database.yml using your =
favorite text=20
                        editor. Initially, the file will look like this: =
</P>
                        <TABLE class=3Dbodycopy cellSpacing=3D0 =
cellPadding=3D7=20
                        border=3D1>
                          <TBODY>
                          <TR>
                            <TD><PRE>development:
  adapter: mysql
  database: rails_development
  host: localhost
  username: root
  password:=20

# Warning: The database defined as 'test' will be erased and
# re-generated from your development database when you run 'rake'.
# Do not set this db to the same as development or production.
test:
  adapter: mysql
  database: rails_test
  host: localhost
  username: root
  password:

production:
  adapter: mysql
  database: rails_production
  host: localhost
  username: root
  password:</PRE></TD></TR></TBODY></TABLE>
                        <P>Different databases require different =
connection=20
                        properties. Rails is set up to work with MySQL =
by=20
                        default, but you want to re-configure this =
project to=20
                        use Oracle. Change the development properties as =

                        described on this Oracle on Rails <A =
class=3Dbodylink=20
                        =
href=3D"http://wiki.rubyonrails.org/rails/pages/Oracle">wiki=20
                        page</A>. (You could change the test and =
production=20
                        properties also, but the scope of this article =
doesn=E2=80=99t=20
                        include testing or production releases.) </P>
                        <P>There are a number of approaches to creating =
a Web=20
                        application in Rails, but the simplest by far is =
to use=20
                        scaffold, a command line feature in Rails 1.0.0, =
which=20
                        will build the entire application in a single =
command.=20
                        </P><PRE>C:\comics_catalog&gt; ruby =
script/generate scaffold Comic </PRE>
                        <P>Other than a cascade of output in the command =
window,=20
                        what just happened? Well, the Rails code =
generator=20
                        created model, view, and controller Ruby code to =
access=20
                        the COMICS table. In this case you created the=20
                        application using the Rails scaffold, which does =
all the=20
                        work for you. If you make any changes to the =
database=20
                        tables, you=E2=80=99ll need to run the scaffold =
command again.=20
                        Otherwise, your application may not work. </P>
                        <P>Now that the web application has been =
generated, you=20
                        can start the Ruby Web server, WEBRick. =
</P><PRE>C:\comics_catalog&gt; ruby script/server</PRE>
                        <P>You can change the Ruby code for your =
application or=20
                        the COMICS table at anytime without having to =
restart=20
                        the web server. However, if you change the =
database=20
                        configuration file (i.e. database.yml) you will =
need to=20
                        restart the server. </P>
                        <P>Now you can access your Rails Comic Catalog=20
                        application on your own development machine, =
using your=20
                        favorite Web browser. Just access the following =
URL.=20
</P>
                        <P>http://localhost:3000/comics/list</P>
                        <P>Your browser should show a list of comics in =
your=20
                        Catalog like the one in Figure 1. </P>
                        <CENTER><IMG height=3D321=20
                        =
src=3D"http://www.oracle.com/technology/pub/images/haefel_ruby_f1.jpg"=20
                        width=3D640><BR><STRONG>Figure 1:</STRONG> =
Product Catalog=20
                        List </CENTER>
                        <P>When you use the scaffold to create a Rails =
Web=20
                        application, it will automatically create three =
Web=20
                        components that allow you to see a list of all =
records=20
                        in the target database table and to insert, =
modify, and=20
                        delete records in that table. Figure 1 shows a =
list of=20
                        all of the sample data that was inserted into =
your=20
                        database table when you executed the SQL script =
at the=20
                        start of this tutorial. </P>
                        <P>In addition to the Listing view, there is =
also a=20
                        details view. Just click on any of the =
=E2=80=9CShow=E2=80=9D links to=20
                        see a Web paged dedicated to displaying the data =
in that=20
                        particular record. Figure 2 is an example of =
this=20
                        details page. </P>
                        <CENTER><IMG height=3D321=20
                        =
src=3D"http://www.oracle.com/technology/pub/images/haefel_ruby_f2.jpg"=20
                        width=3D640><BR><STRONG>Figure 2:</STRONG> The =
Details=20
                        Page </CENTER>
                        <P>You can also edit any record in the database =
table.=20
                        Click on the =E2=80=9CBack=E2=80=9D link, or use =
your browser back=20
                        button to get back to the Listing page, then =
click on=20
                        the =E2=80=9CEdit=E2=80=9D link of any record. =
Figure 3 shows an example=20
                        of the Editing view of one of the records in the =
COMICS=20
                        database table. </P>
                        <CENTER><IMG height=3D321=20
                        =
src=3D"http://www.oracle.com/technology/pub/images/haefel_ruby_f3.jpg"=20
                        width=3D640><BR><STRONG>Figure 3:</STRONG> The =
Editing=20
                        View </CENTER>
                        <P>You can also add new records to the COMICS =
table by=20
                        going back to the Listing view and clicking on =
the =E2=80=9CNew=20
                        Comic=E2=80=9D link. This will present you with =
an insertion=20
                        view similar to the one in figure 3, except the =
fields=20
                        will all be blank. </P><SPAN =
class=3Dparahead1>Mastering=20
                        Rails</SPAN>=20
                        <P>While the Product Catalog example showed how =
easy it=20
                        is to create a very simple application using =
Rails, it=E2=80=99s=20
                        not all that useful except for tracking =
inventory. You=20
                        can create much more complicated Web =
applications with=20
                        Rails, but that will require that you jump into =
the code=20
                        a bit, which would require some study. Rails is =
an easy=20
                        framework to work with, but like any technology =
it takes=20
                        time to master. At this point, I can only =
recommend=20
                        Rails to technically-savvy individuals and =
development=20
                        teams who are embarking on =
=E2=80=9Cgreen-field=E2=80=9D application=20
                        development. If you don=E2=80=99t fall into this =
rough category,=20
                        I wouldn=E2=80=99t recommend using Rails until =
the tooling has=20
                        matured. </P>
                        <P>In order to really master Rails, you should =
read a=20
                        book, a number of which will be available later =
this=20
                        year, but one that is very good and is available =
now is=20
                        <EM>Agile Web Programming with Ruby on Rails =
</EM>by=20
                        David Heninmier Hanson and Dave Thomas =
(Published by=20
                        Pragmatic Bookshelf, 2005). Hanson is, of =
course, the=20
                        guy who created Rails and Thomas is one of the =
authors=20
                        of <EM>Programming Ruby: The Pragmatic =
Programmers'=20
                        Guide</EM> (Pragmatic Bookshelf; 2nd edition, =
2004).=20
</P>
                        <P><IMG height=3D10=20
                        =
src=3D"http://oracleimg.com/admin/images/otn/r_arrow.gif"=20
                        width=3D10> See also: <A class=3Dbodylink=20
                        =
href=3D"http://www.oracle.com/technology/pub/articles/saternos-rails.html=
">HR=20
                        Schema on Rails</A>, an exploration of =
techniques for=20
                        creating a Ruby on Rails Web application that =
utilizes a=20
                        legacy schema.=20
                        <HR>
                        <SPAN class=3Dboldbodycopy>Richard =
Monson-Haefel</SPAN>=20
                        (<A class=3Dbodylink =
href=3D"http://www.monson-haefel.com/"=20
                        =
target=3D_blank>http://www.monson-haefel.com/</A>) is a=20
                        senior Burton analyst and the author of =
<EM>Enterprise=20
                        JavaBeans</EM> (O'Reilly, 2004 ), <EM>J2EE Web=20
                        Services</EM> (Addison-Wesley, 2003 ), and =
<EM>Java=20
                        Message Service</EM> (O'Reilly, 2000). His books =
have=20
                        won numerous awards.=20
                        <P><A class=3Dbodylink=20
                        =
href=3D"mailto:otnfeedback_us@oracle.com?subject=3DRuby on Rails on =
Oracle: A Simple Tutorial">Send=20
                        us your=20
              =
comments</A></P></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD>=

          <TD vAlign=3Dtop width=3D10>
            <TABLE id=3Drg10001 cellSpacing=3D0 cellPadding=3D0 =
width=3D"100%"=20
            summary=3D"" border=3D0>
              <TBODY>
              <TR align=3Dleft>
                <TD=20
                style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
PADDING-BOTTOM: 0px; PADDING-TOP: 0px"=20
                vAlign=3Dtop width=3D"100%"><FONT=20
                  class=3Dinplacedisplayid1siteid0><IMG=20
                  src=3D"http://www.oracle.com/admin/images/spacer.gif" =
width=3D10=20
                  border=3D0></FONT>=20
  =
</TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD></TR></TBODY></T=
ABLE>
<TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" summary=3D"" =
border=3D0>
  <TBODY>
  <TR>
    <TD vAlign=3Dtop width=3D20>
      <TABLE id=3Drg5239 cellSpacing=3D0 cellPadding=3D0 width=3D"100%" =
summary=3D""=20
      border=3D0>
        <TBODY></TBODY></TABLE></TD>
    <TD vAlign=3Dtop width=3D188>
      <TABLE id=3Drg5240 cellSpacing=3D0 cellPadding=3D0 width=3D"100%" =
summary=3D""=20
      border=3D0>
        <TBODY></TBODY></TABLE></TD>
    <TD vAlign=3Dtop width=3D"100%">
      <TABLE id=3Drg5238 cellSpacing=3D0 cellPadding=3D0 width=3D"100%" =
summary=3D""=20
      border=3D0>
        <TBODY></TBODY></TABLE></TD>
    <TD vAlign=3Dtop width=3D20>
      <TABLE id=3Drg5360 cellSpacing=3D0 cellPadding=3D0 width=3D"100%" =
summary=3D""=20
      border=3D0>
        <TBODY></TBODY></TABLE></TD></TR></TBODY></TABLE>
<TABLE id=3Drg5241 cellSpacing=3D0 cellPadding=3D0 width=3D"100%" =
summary=3D"" border=3D0>
  <TBODY>
  <TR align=3Dleft>
    <TD=20
    style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px"=20
    vAlign=3Dtop width=3D"100%">
      <DIV id=3Dp33_1958580_33_786765_786765>
      <TABLE class=3DRegionNoBorder cellSpacing=3D0 cellPadding=3D0 =
width=3D"100%"=20
      border=3D0>
        <TBODY>
        <TR>
          <TD class=3DRegionHeaderColor width=3D"100%">
            <DIV id=3Dpcnt33_1958580_33_786765_786765>
            <DIV class=3DBodyid1siteid0>
            <TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" =
summary=3D""=20
              border=3D0><TBODY>
              <TR>
                <TD vAlign=3Dtop width=3D20>
                  <TABLE id=3Drg9911 cellSpacing=3D0 cellPadding=3D0 =
width=3D"100%"=20
                  summary=3D"" border=3D0>
                    <TBODY>
                    <TR align=3Dleft>
                      <TD=20
                      style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
PADDING-BOTTOM: 0px; PADDING-TOP: 0px"=20
                      vAlign=3Dtop width=3D"100%"><FONT=20
                        class=3Dinplacedisplayid1siteid0><IMG alt=3D""=20
                        =
src=3D"http://oracleimg.com/admin/images/spacer.gif"=20
                        width=3D10 border=3D0></FONT> =
</TD></TR></TBODY></TABLE></TD>
                <TD vAlign=3Dtop width=3D"100%">
                  <TABLE id=3Drg9914 cellSpacing=3D0 cellPadding=3D0 =
width=3D"100%"=20
                  summary=3D"" border=3D0>
                    <TBODY>
                    <TR align=3Dleft>
                      <TD=20
                      style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
PADDING-BOTTOM: 0px; PADDING-TOP: 0px"=20
                      vAlign=3Dtop width=3D"100%"><FONT=20
                        class=3Dinplacedisplayid1siteid0>
                        <TABLE align=3Dright>
                          <TBODY>
                          <TR>
                            <TD>
                              <SCRIPT language=3Djavascript>
function mailpage()
{
mail_str =3D "mailto:?subject=3DThought this might interest you: " + =
document.title;
mail_str +=3D "&body=3DI thought you might be interested in this: " + =
document.title;
mail_str +=3D ". %0A%0AYou can view it at, " + location.href;=20
location.href =3D mail_str;
}
</SCRIPT>
                              <A href=3D"javascript:mailpage()"><IMG =
height=3D15=20
                              =
src=3D"http://oracleimg.com/admin/images/email.gif"=20
                              width=3D17 border=3D0></A> <A =
class=3Dnavlink=20
                              href=3D"javascript:mailpage()">E-mail this =
page</A>=20
                            </TD></TR>
                          <TR>
                            <TD>
                              <SCRIPT type=3Dtext/javascript>
function printerFriendly(template) {
    top.location =3D location.protocol=20
      + '//' + location.host=20
      + location.pathname=20
      + '?_template=3D' + template;
}
</SCRIPT>
                              <A=20
                              href=3D"javascript: =
printerFriendly('/ocom/print')"=20
                              target=3D""><IMG height=3D15 =
alt=3D"Printer View"=20
                              =
src=3D"http://www.oracle.com/admin/images/print_17x15.gif"=20
                              width=3D17 border=3D0></A> <A =
class=3Dnavlink=20
                              href=3D"javascript: =
printerFriendly('/ocom/print')"=20
                              target=3D"">Printer View</A>=20
                        =
</TD></TR></TBODY></TABLE></FONT></TD></TR></TBODY></TABLE>
                  <TABLE id=3Drg9706 cellSpacing=3D0 cellPadding=3D0 =
width=3D"100%"=20
                  summary=3D"" border=3D0>
                    <TBODY>
                    <TR align=3Dleft>
                      <TD=20
                      style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
PADDING-BOTTOM: 0px; PADDING-TOP: 0px"=20
                      vAlign=3Dtop width=3D"100%"><FONT=20
                        class=3Dinplacedisplayid1siteid0><!-- FOOTER -->
                        <DIV class=3Dgreybarhomebot><!--footer--></DIV>
                        <TABLE cellSpacing=3D0 cellPadding=3D10 =
width=3D"100%"=20
                        border=3D0>
                          <TBODY>
                          <TR>
                            <TD width=3D"46%"><A=20
                              =
href=3D"http://www.oracle.com/corporate/index.html"><IMG=20
                              height=3D11 alt=3D"Oracle Is The =
Information Company"=20
                              =
src=3D"http://oracleimg.com/admin/images/ocom/hp/info_company.gif"=20
                              width=3D234 border=3D0></A></TD>
                            <TD vAlign=3Dcenter align=3Dright =
width=3D"54%"><A=20
                              class=3Dlegalese=20
                              =
href=3D"http://www.oracle.com/corporate/index.html">About=20
                              Oracle</A> <SPAN class=3Dlegalese>|</SPAN> =
<A=20
                              =
href=3D"http://www.oracle.com/rss/index.html"><IMG=20
                              style=3D"MARGIN-TOP: 2px" height=3D14=20
                              alt=3D"Oracle RSS Feeds"=20
                              =
src=3D"http://oracleimg.com/admin/images/feed-icon-14x14.png"=20
                              width=3D14 align=3DabsMiddle =
border=3D0></A> <SPAN=20
                              class=3Dlegalese>|</SPAN> <A =
class=3Dlegalese=20
                              =
href=3D"http://www.oracle.com/corporate/employment/index.html">Careers</A=
>=20
                              <SPAN class=3Dlegalese>|</SPAN> <A =
class=3Dlegalese=20
                              =
href=3D"http://www.oracle.com/corporate/contact/index.html">Contact=20
                              Us</A> <SPAN class=3Dlegalese>|</SPAN> <A=20
                              class=3Dlegalese=20
                              =
href=3D"http://www.oracle.com/sitemaps/sitemaps.html">Site=20
                              Maps</A> <SPAN class=3Dlegalese>|</SPAN> =
<A=20
                              class=3Dlegalese=20
                              =
href=3D"http://www.oracle.com/html/copyright.html">Legal=20
                              Notices</A> <SPAN =
class=3Dlegalese>|</SPAN> <A=20
                              class=3Dlegalese=20
                              =
href=3D"http://www.oracle.com/html/terms.html">Terms=20
                              of Use</A> <SPAN class=3Dlegalese>|</SPAN> =
<A=20
                              class=3Dlegalese=20
                              =
href=3D"http://www.oracle.com/html/privacy.html">Privacy</A></TD></TR>
                          <TR>
                            <TD =
colSpan=3D2></TD></TR></TBODY></TABLE><!--/Footer--><!-- SiteCatalyst =
code version: G.7.Copyright 1997-2004 Omniture, Inc. More info available =
athttp://www.omniture.com -->
                        <SCRIPT language=3DJavaScript=20
                        =
src=3D"http://www.oracle.com/technology/admin/jscripts/s_code_remote.js">=
</SCRIPT>
<!-- End SiteCatalyst code version: G.7. =
--></FONT></TD></TR></TBODY></TABLE></TD>
                <TD vAlign=3Dtop width=3D20>
                  <TABLE id=3Drg9912 cellSpacing=3D0 cellPadding=3D0 =
width=3D"100%"=20
                  summary=3D"" border=3D0>
                    <TBODY>
                    <TR align=3Dleft>
                      <TD=20
                      style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
PADDING-BOTTOM: 0px; PADDING-TOP: 0px"=20
                      vAlign=3Dtop width=3D"100%"><FONT=20
                        class=3Dinplacedisplayid1siteid0><IMG alt=3D""=20
                        =
src=3D"http://oracleimg.com/admin/images/spacer.gif"=20
                        width=3D10 border=3D0></FONT>=20
              =
</TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></DIV></DIV></TD></TR=
></TBODY></TABLE></DIV></TD></TR></TBODY></TABLE><!-- Page Metadata =
Generated On: 08-MAY-2008:22:12:43  Time Taken: 70 msecs =
--></BODY></HTML>

------=_NextPart_001_0033_01C8B1D2.79F66AE0
Content-Type: image/gif
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.oracle.com/portalimages/pobtrans.gif

=EF=BB=BF<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; charset=3Dutf-8">
<META content=3D"MSHTML 6.00.6000.16640" name=3DGENERATOR></HEAD>
<BODY><IMG =
src=3D"http://www.oracle.com/portalimages/pobtrans.gif"></BODY></HTML>

------=_NextPart_001_0033_01C8B1D2.79F66AE0--

------=_NextPart_000_0000_01C8B1D2.79EF3EF0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.oracle.com/wocportal/pls/wocprod/WOCPROD.wwsbr_javascript.page_js?p_language=us&p_version=10.1.4.0.0.594

function getParameter(queryString, parameter) {=0A=
  var paramRegExp =3D new RegExp("[\\?&]" + parameter + "=3D(\\w*)");=0A=
  var result =3D queryString.match(paramRegExp);=0A=
  return result =3D=3D null ? null : result[1];=0A=
}=0A=
function refreshPortlet(portletReference, pageURL) {=0A=
  if (document.getElementById) {=0A=
    var rimg =3D document.images["refresh_" + portletReference];=0A=
    if (rimg) rimg.src =3D "/portalimages/prefresha.gif";=0A=
    var debugLevel =3D getParameter(location.search, "_debug");=0A=
    document.getElementById("portalIFrame").src =3D =0A=
       pageURL + (pageURL.indexOf("?") =3D=3D -1 ? "?" : "&") + =
"_portletRefresh=3D" + escape(portletReference)=0A=
       + (debugLevel !=3D null ? "&_debug=3D" + debugLevel : "");=0A=
  }=0A=
  else=0A=
    location.href =3D pageURL;=0A=
}=0A=
function refreshPortletIFrame(portletReference, pageURL) {=0A=
  document.getElementById("portalIFrame_" + portletReference).src =3D =0A=
     pageURL + (pageURL.indexOf("?") =3D=3D -1 ? "?" : "&") + =
"_portletRefresh=3D" + escape(portletReference);=0A=
}=0A=
var _tmpImg =3D new Image();=0A=
function high(imgname) {=0A=
  var img =3D eval("document.images.i" + imgname);=0A=
  if (img) {=0A=
    _tmpImg.src =3D img.src;=0A=
    img.src =3D eval("high" + imgname + ".src");=0A=
  }=0A=
}=0A=
function low(imgname) {;=0A=
  var img =3D eval("document.images.i" + imgname);=0A=
  if (img) {=0A=
    img.src =3D _tmpImg.src;=0A=
  }=0A=
}=0A=
function folderpropertysheet(cornerid,siteid) =
{window.open("http://www.oracle.com/wocportal/pls/wocprod/WOCPROD.wwpob_p=
roperty_ui.page_property_sheet?p_cornerid=3D"+cornerid+"&p_siteid=3D"+sit=
eid,"propertysheet","scrollbars=3D1,resizable=3D1,width=3D500,height=3D50=
0").focus();}=0A=
function propertysheet(thingid,masterthingid,cornerid,siteid) =
{window.open("http://www.oracle.com/wocportal/pls/wocprod/WOCPROD.wwpob_p=
roperty_ui.item_property_sheet?p_thingid=3D"+thingid+"&p_masterthingid=3D=
"+masterthingid+"&p_cornerid=3D"+cornerid+"&p_siteid=3D"+siteid,"property=
sheet","scrollbars=3D1,resizable=3D1,width=3D500,height=3D500").focus();}=0A=
function copyBody(portletReference) {=0A=
  if (document.styleSheets) {=0A=
    var rules, ruleslen;=0A=
    for (var s=3D0; s < document.styleSheets.length; s++) {=0A=
      if (document.styleSheets[s].cssRules)=0A=
        rules =3D document.styleSheets[s].cssRules;=0A=
      else=0A=
        rules =3D document.styleSheets[s].rules;=0A=
      ruleslen =3D (rules ? rules.length : 0);=0A=
      for (var r=3D0; r<ruleslen; r++) {=0A=
        if (parent.document.styleSheets[0].insertRule) {=0A=
          try {=0A=
            parent.document.styleSheets[0].insertRule(=0A=
              rules[r].selectorText + "{" + rules[r].style.cssText + "}",=0A=
              parent.document.styleSheets[0].cssRules.length);=0A=
          }=0A=
          catch (e) { // this is likely to happen on Apple Safari=0A=
            null;=0A=
            /* alert("exception - insertRule("=0A=
               + rules[r].selectorText + "{" + rules[r].style.cssText + =
"},"=0A=
               + parent.document.styleSheets[0].cssRules.length + ")"); =
*/=0A=
          }=0A=
        }=0A=
        else {=0A=
          parent.document.styleSheets[0].addRule(=0A=
            rules[r].selectorText,=0A=
            rules[r].style.cssText ? rules[r].style.cssText : " ");=0A=
        }=0A=
      }=0A=
    }=0A=
  }=0A=
  var srcScripts =3D document.getElementsByTagName("script");=0A=
  var destHead   =3D =
parent.document.getElementsByTagName("head").item(0);=0A=
  for (var i=3D0; i<srcScripts.length; i++)=0A=
  {=0A=
      var newScript =3D parent.document.createElement("script");=0A=
      newScript.type =3D srcScripts.item(i).type;=0A=
      if (srcScripts.item(i).src)=0A=
        newScript.src  =3D srcScripts.item(i).src;=0A=
      newScript.text =3D srcScripts.item(i).text;=0A=
      destHead.appendChild(newScript);=0A=
  }=0A=
  parent.document.getElementById("p" + portletReference).innerHTML =3D =
document.body.innerHTML;=0A=
}=0A=
=0A=
=0A=
function removePortlet(pRef)=0A=
{=0A=
  if (confirm("Are you sure you want to remove the portlet from this =
page? You can reinstate this portlet by clicking on the Personalize Link =
on the Page."))=0A=
  {=0A=
    document.getElementById("p" + pRef).style.display =3D "none";=0A=
    location.href =3D =
"http://www.oracle.com/wocportal/pls/wocprod/WOCPROD.wwpob_page_dialogs.r=
emove_portlet_dlg" + "?p_portlet_ref=3D" + pRef;=0A=
  }=0A=
}=0A=
=0A=
var restoreImg =3D null;=0A=
function collapsePortlet(pRef, pageUrl)=0A=
{=0A=
  if (document.getElementById)=0A=
  {=0A=
    // get the portlet contents=0A=
    var e =3D document.getElementById("pcnt" + pRef);=0A=
=0A=
    // determine the intended state by looking at the collapse/expand =
state=0A=
    var st =3D (e.style.display =3D=3D "none" ? 0 : 1);=0A=
=0A=
    // if collapsing, show the restore image, and dynamically hide =
content=0A=
    if (st =3D=3D 1)=0A=
    {=0A=
      // the restore image is cached=0A=
      if (!restoreImg)=0A=
      {=0A=
        restoreImg =3D new Image();=0A=
        restoreImg.src =3D "/portalimages/restore.gif";=0A=
        restoreImg.alt =3D "Restore";=0A=
      }=0A=
=0A=
      // hide the portlet content and show restore image=0A=
      e.style.display =3D "none";=0A=
      var cimg =3D document.images["collapse_" + pRef];=0A=
      if (cimg) { cimg.src =3D restoreImg.src; cimg.alt =3D =
restoreImg.alt; }=0A=
    }=0A=
=0A=
    // This URL returns nothing, but updates the collapse/restore state=0A=
    var u =3D =
"http://www.oracle.com/wocportal/pls/wocprod/WOCPROD.wwpob_page_dialogs.c=
ollapse_portlet?p_portlet_ref=3D" + pRef + "&p_state=3D" + st;=0A=
=0A=
    // Call the collapse/restore URL.  If restoring,=0A=
    // then do this synchronously (before refreshing).=0A=
    if (window.XMLHttpRequest) {    // W3C=0A=
      var req =3D new XMLHttpRequest();=0A=
      req.open("GET", u, st !=3D 0);=0A=
      req.send(null);=0A=
    }=0A=
    else if (window.ActiveXObject) {    // IE=0A=
      var req =3D new ActiveXObject("Microsoft.XMLHTTP");=0A=
      if (req) {=0A=
        req.open("GET", u, st !=3D 0);=0A=
        req.send();=0A=
      }=0A=
    }=0A=
=0A=
    // Refresh contents if restoring from collapsed state=0A=
    if (st =3D=3D 0)=0A=
      refreshPortlet(pRef, pageUrl);=0A=
  }=0A=
}=0A=
    =0A=
function show_context_help(h) =
{window.open(h,"Help","menubar=3D1,toolbar=3D1,scrollbars=3D1,resizable=3D=
1,width=3D700,height=3D500").focus();}=0A=

------=_NextPart_000_0000_01C8B1D2.79EF3EF0
Content-Type: application/x-js
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.oracle.com/admin/jscripts/portal_lib.js

// Core JS library for oracle.com
// Created by: Vivek Mehrotra
//Update by Ashok Chava on 12 Oct 2006

function goWin(url, x, w, h, scroll) {
 if (!x || x=3D=3D"") x=3D1;
 if (x=3D=3D1) top.location=3D"./"+url
 else if (x=3D=3D2) =
window.open(url,"smallWin","toolbar=3D0,location=3D0,directories=3D0,stat=
us=3D0,menubar=3D0,resizable=3D1,scrollbars=3D"+scroll+",width=3D"+w+",he=
ight=3D"+h+",top=3D0,screenY=3D0,left=3D0,screenX=3D0")
 else if (x=3D=3D3) window.open(url,"fullWin")
}
// eloggerF
var gUrl=3D"http://www.oracle.com/webapps/elog/trackurl";
var baseUrl=3D"http://"+location.hostname;
var fromUrl=3DescapeURL(document.URL);
var refUrl=3DescapeURL(document.referrer);=20

function escapeURL(p_txt) {
 r1=3D /\&/gi;
 r2=3D / /gi;
 r3=3D /\+/gi;
 var t=3Dp_txt;
 t=3Dt.replace(r1,"%26");
 t=3Dt.replace(r2,"%2B");
 t=3Dt.replace(r3,"%2B");
 return t;
}
function trackURL(p_url, p_object_id, p_subobject_id) {
 var toUrl=3DescapeURL(p_url);
 var destUrl=3D"";
 var srcUrl=3D"";
 var trackbleUrl=3D"";
 if (toUrl.indexOf("http")=3D=3D-1) destUrl=3DbaseUrl+toUrl;
 if (fromUrl.indexOf("http")=3D=3D-1) srcUrl=3DbaseUrl+fromUrl;
 trackbleUrl=3DgUrl+"?d=3D"+destUrl+"&s=3D"+srcUrl+"&di=3D"+p_object_id =
;
 return trackbleUrl;
}
function goURL(p_url, p_object_id, p_subobject_id) {
 location=3DtrackURL(p_url,p_object_id,p_subobject_id);
}
function logURL(p_object_id, p_subobject_id ) {
 var destUrl=3D"";
 var srcUrl=3D"";
 var trackbleUrl=3D"";
 if (fromUrl.indexOf("http")=3D=3D-1) destUrl=3DbaseUrl+fromUrl;
 if (refUrl.indexOf("http")=3D=3D-1) srcUrl=3DbaseUrl+refUrl;
 =
trackbleUrl=3DgUrl+"?d=3D"+destUrl+"&s=3D"+srcUrl+"&di=3D"+p_object_id+"&=
a=3Dimage" ;
 document.write("<img src=3D\""+trackbleUrl+"\">");
}
// OTN leftnav
function dropdown(mySel)
{
 var myWin, mV;
 mV=3DmySel.options[mySel.selectedIndex].value;
 if(mV) {
  if(mySel.form.target) myWin=3Dparent[mySel.form.target];=20
  else myWin=3Dwindow;
  if (!myWin) return true;
  myWin.location=3DmV;
 }
 return false;
}
// viewlets
function isViewletCompliant()
{
 ans=3Dtrue;
 version=3DMath.round(parseFloat(navigator.appVersion) * 1000);
 if (navigator.appName.substring(0,9)=3D=3D"Microsoft")
  if(version<4000) ans=3Dfalse;
 if (navigator.appName.substring(0,8)=3D=3D"Netscape")
  if ((navigator.appVersion.indexOf("Mac")> 0)&&(version<5000)) =
ans=3Dfalse;
   else if (version<4060) ans=3Dfalse;
 plugins=3Dnavigator.plugins;
 if (!ans && plugins!=3Dnull)
  for(i=3D0;i!=3Dplugins.length;i++)
   if((plugins[i].name.indexOf("Java =
Plug-in")>=3D0)&&(plugins[i].name.indexOf("1.0")<0)) ans=3Dtrue;
 return ans;
}
function openViewlet(htmlFile,htmlWidth,htmlHeight)
{
 str =3D =
'resizable=3D0,toolbar=3D0,menubar=3D0,scrollbars=3D0,status=3D0,location=
=3D0,directory=3D0,width=3D350,height=3D200';
 if(!isViewletCompliant())
  open("http://www.qarbon.com/warning/index.html",'Leelou',str);
 else
  =
window.open(htmlFile,'Leelou','width=3D'+htmlWidth+',height=3D'+htmlHeigh=
t+',top=3D10,left=3D20');
}

var USER =3D new getUserInfo();

function printWelcome()
{
  var loc=3D window.location.href;
  var tempURL=3D window.location.href;

  var temp =3D new Array();
  temp =3D tempURL.split('/');

  var tmp =3D '<span class=3D"profile">';
  if ( USER.guid ){
	 if(temp[4] =3D=3D "global" ){
		tmp +=3D 'Welcome ' + USER.firstname + ' ( <a class=3D"profile" =
href=3D"http://www.oracle.com/admin/account/index.html?'+temp[5]+ '">' + =
'Account' + '<\/a> | <a class=3D"profile" =
href=3D"http://www.oracle.com/admin/account/index.html?'+temp[5]+ '">' + =
'Manage Subscriptions' + '<\/a> | <a class=3D"profile" =
href=3D"javascript:sso_sign_out();">' +'Sign Out'+ '<\/a>)';
	 }else{
		tmp +=3D 'Welcome ' + USER.firstname + ' ( <a class=3D"profile" =
href=3D"http://www.oracle.com/admin/account/index.html?'+temp[5]+ '">' + =
'Account' + '<\/a> | <a class=3D"profile" =
href=3D"http://www.oracle.com/admin/account/index.html?'+temp[5]+ '">' + =
'Manage Subscriptions' + '<\/a> | <a class=3D"profile" =
href=3D"javascript:sso_sign_out();">' +'Sign Out'+ '<\/a>)';
	 }=09

  }else{
     if(temp[4] =3D=3D "global" ){
    	tmp +=3D '<a href=3D"' + =
'http://www.oracle.com/admin/account/index.html">' + '(Sign In/Register =
for Account' + '<\/a>' + ' <span style=3D"color:#000000">|</span> ' + =
'<a href=3D"' + 'http://www.oracle.com/subscribe/index.html">' + =
'Subscribe)' + '<\/a>';
  	 }else{
    	tmp +=3D '<a href=3D"' + =
'http://www.oracle.com/admin/account/index.html">' + '(Sign In/Register =
for Account' + '<\/a>' + ' <span style=3D"color:#000000">|</span> ' + =
'<a href=3D"' + 'http://www.oracle.com/subscribe/index.html">' + =
'Subscribe)' + '<\/a>';
	 }=09
  }
  tmp +=3D '<\/span>';
  document.write(tmp);
  document.close();
}


function printWelcomeOPN()
{
	var url =3D location.href;
     if (url.indexOf('html?loc' ) > -1  )
		{
		  var param =3D url.replace( /^[^=3D]+\=3D/, '' );
          loc =3D param;		=20
        }
	else  loc=3D window.location.href;
	  loc=3D escape(loc)
  var tmp =3D '<span class=3D"profile">';
  if ( USER.guid )
    tmp +=3D 'Welcome ' + USER.firstname + ' ( <a class=3D"profile" =
href=3D"javascript:sso_sign_out();">' +
          'Sign Out'+ '<\/a> | <a class=3D"profile" =
href=3D"http://www.oracle.com/partners/admin/web_account.html?loc=3D'+loc=
 + '">' + 'Account' + '<\/a> )';
  else
    //tmp +=3D '<a href=3D"' + =
'http://www.oracle.com/partners/admin/web_account.html?loc=3D'+loc + =
'">' + '(Sign In / Register for a free Oracle Web account)'+ '<\/a>';
     tmp +=3D '<a href=3D"' + ' =
http://login.oracle.com/redirect/signon?nexturl=3D'+unescape(loc) + '">' =
+ '(Sign In / Register for a free Oracle Web account)'+ '<\/a>';
  tmp +=3D '<\/span>';
  document.write(tmp);
  document.close();
}



function DrawPrinterView()
{
  var printTemplate =3D '/ocom/ocom_item_templates/print';

  var Str =3D window.location.pathname;
  Str =3D Str.substring( 1 );
  Str =3D Str.substring( 0, Str.indexOf( '/' ) );
  if ( Str.length =3D=3D 2 || Str.length =3D=3D 5 || Str =3D=3D 'global' =
) printTemplate =3D '/ocom/ocom_item_templates/global/global_print';

  var Str =3D '<A =
href=3D"javascript:location=3Dlocation.pathname+\'?_template=3D'+printTem=
plate+'\';" target=3D""><IMG ';
  Str +=3D 'height=3D15 alt=3D"'+strings.print_label+'" =
src=3D"/admin/images/print_17x15.gif" width=3D17 border=3D0><\/A> <A =
class=3Dnavlink ';
  Str +=3D =
'href=3D"javascript:location=3Dlocation.pathname+\'?_template=3D'+printTe=
mplate+'\';" target=3D"">'+strings.print_label+'<\/A> ';
  document.write( Str );
  document.close();
}

/*
function signout(url) {
  var exp =3D new Date();
  exp.setYear(70);
  var exp_str =3D "expires=3D" + exp.toGMTString() + "; =
domain=3D.oracle.com; path=3D/;";
  document.cookie =3D "ORA_UCM_VER=3D;" + exp_str;
  document.cookie =3D "ORA_UCM_INFO=3D;" + exp_str;
  document.cookie =3D "ORA_UCM_SRVC=3D;" + exp_str;
  top.location =3D url;
}
*/
function signout(url)
{

  //rUrl =3D window.location.href;=20
  rUrl =3D escape(window.location.href);=20
  =
window.location=3D"http://login.oracle.com/sso/logout?p_done_url=3D"+rUrl=
; //stage only
}
function getCookieData(label) {
  var labelLen =3D label.length
  var cLen =3D document.cookie.length
  var i =3D 0
  var cEnd
  while (i < cLen) {
    var j=3Di+labelLen;
    if (document.cookie.substring(i,j) =3D=3D label) {
      cEnd=3Ddocument.cookie.indexOf(";",j);
      if (cEnd=3D=3D-1) {
      	cEnd=3Ddocument.cookie.length;
      }
      j++;
      return unescape(document.cookie.substring(j,cEnd));
    }
    i++;
  }
  return "";
}
function getUserInfo() {
  var USER         =3D new Object();
  this.value_enc   =3D getCookieData("ORA_UCM_INFO");
  this.array       =3D this.value_enc.split("~");
  USER.version      =3D this.array[0];
  USER.guid         =3D this.array[1];
  USER.firstname    =3D this.array[2];
  USER.lastname     =3D this.array[3];
  USER.username     =3D this.array[4];
  USER.country      =3D this.array[5];
  USER.language     =3D this.array[6];
  USER.interest1    =3D this.array[7];
  USER.interest2    =3D this.array[8];
  USER.interest3    =3D this.array[9];
  USER.interest4    =3D this.array[10];
  USER.ascii        =3D this.array[11];=09
  USER.email        =3D this.username;
  USER.companyname  =3D null;
  USER.title        =3D null;
  USER.characterset =3D null;
  USER.interest5    =3D null;
  return USER;
}

// Start of functions used by new Ocom search
function trim(value)
{
  s =3D new String(value);
  if (value !=3D null) {
    var beginIndex =3D -1;
    var endIndex   =3D s.length;

    for (var i =3D 0; i < s.length; i++)
    {
      if (s.charAt(i) !=3D " ") {
        beginIndex =3D i;
        break;
      }
    }
    if (beginIndex =3D=3D -1) return "";

    for (var j =3D s.length -1; j > beginIndex; j--) {
      if (s.charAt(j) !=3D " ") {
        endIndex =3D j;
        break;
      }
    }
    if (endIndex !=3D s.length) return s.substring(beginIndex, =
endIndex);
    else return s.charAt(beginIndex);
  }
  return value;
}

// Special Characters validation
// Added isSplCharsExist() on 25th April by Girish
var splCharsInKeyword;
function isSplCharsExist(value) {
    splCharsInKeyword =3D '';
     var iChars =3D "!#$%^*()+=3D[]\\;/{}|:<>?";
        for (var i =3D 0; i < value.length; i++) {
                if (iChars.indexOf(value.charAt(i)) !=3D -1) {  =20
                idx =3D iChars.indexOf(value.charAt(i));
                splCharsInKeyword +=3D  iChars.charAt(idx) + ' ';

               }
     }
    =20
     if (splCharsInKeyword =3D=3D '' || trim(splCharsInKeyword).length =
=3D=3D 0 ) {
        return false;
      }=20
     else {
        return true;
     }
}

// Serach validation Global value
// Modified isNotNull() on 25th April by Girish
//var isUserInput =3D false ;
function isNotNull(value)
{

	  if (value =3D=3D null || trim(value).length =3D=3D 0  || value =3D=3D =
"search site" || value =3D=3D"Search OPN" )
	  {
	    alert('You did not enter a search term.  Please try again.');
	    document.searchForm.keyword.value=3D'';
	    //isUserInput =3D true;
	    document.searchForm.keyword.focus();
	    return false;
	  }
	  else if (isSplCharsExist(value)) {
	 =20
		   if (trim(splCharsInKeyword).length > 1 ) {
		     splCharsInKeyword =3D 'Special characters ' + splCharsInKeyword + =
' are ';
		   }
		   else {
		     splCharsInKeyword =3D 'Special character ' + splCharsInKeyword + =
' is ';
		   }
		  =20
	   alert ( splCharsInKeyword +"not allowed.\n");
	   document.searchForm.keyword.focus();
	   return false;
	  }
	 else
	 return true;
}


function checkSearch( value )
{
  if ( document.searchForm && document.searchForm.datasetId && typeof( =
langDataSetId ) !=3D 'undefined' && langDataSetId )
  {
    document.searchForm.datasetId.value =3D langDataSetId;
  }

  if ( value =3D=3D null || trim(value).length =3D=3D 0 )
  {
    alert('Please enter the keyword(s) to search for');
    return false;
  }
  else=20
  {
    if ( document.searchForm ) document.searchForm.submit();
    return true;
  }
}

function checkGlobalSearch( value )
{
  return checkSearch( value );
}


// Start of OSES JS Form Check for Broadband - Ashish Patel, MAR-24-2006
//var OTNDocsNodeId=3D "1_374" ;
//var OTNDocsFId=3D "-1" ;
function setFormValues(form,groupname) {
if(groupname =3D=3D "Video and Multimedia")
{
form.showSimilarDoc.value =3D "false";
}else{
form.showSimilarDoc.value =3D "true";
}
//The following code can be used when a node level search needs to be =
done. Not used now
//if(groupname =3D=3D "OTNDocsNode")
//{
// form.nodeid.value =3D OTNDocsNodeId;
// form.fid.value =3D OTNDocsFId;
//}
}


function sso_sign_out()=20
{=20
    //rUrl =3D window.location.href;=20
   =20
    rUrl =3D escape(window.location.href);=20
	=09
	if (    ( rUrl.indexOf('http://oraclepartnernetwork.oracle.com/portal/' =
) >-1 )  ||  (  rUrl.indexOf('http://www.oracle.com/partners' ) > -1 )  =
)  	=09
	  rUrl =3D "http://oraclepartnernetwork.oracle.com/";
	=
window.location=3D"http://login.oracle.com/sso/logout?p_done_url=3D"+rUrl=
; //stage only
}=20


// Start of Live Edit Code - Dom Lindars, 28-JUL-2004
function GetCookie(sName)
{
  var aCookie =3D document.cookie.split("; ");
  for (var i=3D0; i < aCookie.length; i++)
  {
    var aCrumb =3D aCookie[i].split("=3D");
    if (sName =3D=3D aCrumb[0]) return unescape(aCrumb[1]);
  }
  return null;
}

function LiveEditStatus()
{
  var Str =3D GetCookie( 'WOCPortalLiveEdit' );
  if ( Str =3D=3D 'Enabled' || Str =3D=3D 'Disabled' ) return Str;
  else return 'Not installed';
}

var LiveEdit =3D true;

function DrawLiveEditToolbar()
{
  if ( typeof( USER ) !=3D 'undefined' && USER && USER.guid && =
USER.username && USER.username.indexOf( '@oracle.com' ) > -1 )
  {
    var Status =3D LiveEditStatus();

    if ( LiveEdit && Status =3D=3D 'Enabled' )
    {
      var path =3D location.pathname
      path =3D path.substring(1,path.lastIndexOf("/") + 1);
 =20
      if ( ( location.host =3D=3D 'www-portal-stage.oracle.com' || =
location.host =3D=3D 'www.oracle.com' ) &&=20
           path.indexOf( 'wocportal' ) =3D=3D -1 && path.indexOf( 'pls/' =
) =3D=3D -1 )
      {
        document.write( '<script language=3DJavascript =
src=3D"/admin/jscripts/live_edit/live_edit.js"><\/script>' );
        document.close;
      }
    }
  }
}

// isEmployee() function added by Srinivas Kasam on 29-Mar-2005

function isEmployee()
{
  if ( typeof( USER ) !=3D 'undefined' && USER && USER.guid && =
USER.username && USER.username.indexOf( '@oracle.com' ) > -1 )
  {
	  return true;
  }
  else=20
  {
    return false;
  }
}

// isPartner() function added by Srinivas Kasam on 01-Apr-2005
// This function checks if a user is an ACTIVE member of OPN

function isPartner()
{
 =20
  var ORA_UCM_SRVC  =3D new private_ORA_UCM_SRVC(); // =
private_ORA_UCM_SRVC is defined in lib.js
  var SrvcVal =3D getCookieData("ORA_UCM_SRVC");
  var StartPosofExpdtSE1;
  var EndPosofExpdtSE1;
  var ExpDTString;
  var FirstHypen;
  var SecondHypen;
  var DatePortion;
  var MonthPortionString;
  var MonthPortion =3D 1;
  var YearPortion;
  var CurrentDate;
  var CurrentDateMilliSec;
  var ExpiryDate;
  var ExpiryDateMilliSec;

  // Check if SRVC cookie is NULL or OPN service exists or not
  if ( ORA_UCM_SRVC =3D=3D null || =
ORA_UCM_SRVC.services.indexOf("/OPN/") =3D=3D -1 )
  {
	  return false;
  }
  else=20
  {

    // Use EXTRA value of OPN service cookie to find out OPN Membership =
Expiry date

    // Logic to extract EXPIRY DATE from the service cookie -- delimiter =
'SE1:'

    StartPosofExpdtSE1 =3D  SrvcVal.indexOf("SE1:");
    StartPosofExpdtSE1 =3D  SrvcVal.indexOf("SE1:", StartPosofExpdtSE1 + =
1);
    StartPosofExpdtSE1 =3D  SrvcVal.indexOf("SE1:", StartPosofExpdtSE1 + =
1);
    EndPosofExpdtSE1   =3D  SrvcVal.indexOf("SE1:", StartPosofExpdtSE1 + =
1);

    ExpDTString =3D SrvcVal.substr(StartPosofExpdtSE1 + 4, =
EndPosofExpdtSE1 - StartPosofExpdtSE1 - 4);

    // Logic to extract Date, Month, Year portions from EXPIRY DATE =
obtained above -- delimiter is '-'
    FirstHypen =3D ExpDTString.indexOf("-");
    SecondHypen =3D ExpDTString.indexOf("-", FirstHypen + 1);

	DatePortion =3D parseInt(ExpDTString.substr(0, FirstHypen), 10);

    MonthPortionString =3D ExpDTString.substr(FirstHypen + 1, =
SecondHypen - FirstHypen - 1);

    switch (MonthPortionString.toUpperCase())=20
    {
      case 'JAN': MonthPortion=3D1; break
      case 'FEB': MonthPortion=3D2; break
      case 'MAR': MonthPortion=3D3; break
      case 'APR': MonthPortion=3D4; break
      case 'MAY': MonthPortion=3D5; break
      case 'JUN': MonthPortion=3D6; break
      case 'JUL': MonthPortion=3D7; break
      case 'AUG': MonthPortion=3D8; break
      case 'SEP': MonthPortion=3D9; break
      case 'OCT': MonthPortion=3D10; break
      case 'NOV': MonthPortion=3D11; break
      case 'DEC': MonthPortion=3D12; break
      default: MonthPortion=3D1;
    }

    YearPortion =3D parseInt(ExpDTString.substr(SecondHypen + 1 ), 10);
    if(YearPortion>=3D90 && YearPortion<=3D99)
       YearPortion =3D YearPortion+1900;
    else
      YearPortion =3D YearPortion+2000;

    // Construct DATE object using the date, month, year portions =
obtained above also get the number of millisec since EPOCH
	ExpiryDate =3D new Date(YearPortion, MonthPortion, DatePortion );
    ExpiryDateMilliSec =3D Date.parse(ExpiryDate);

	// Get current date from client PC and also get the number of millisec =
since EPOCH
	CurrentDate =3D new Date();
    CurrentDateMilliSec =3D Date.parse(CurrentDate);


    // Check if Expiry Date IS LESS THAN Current Date
	if(ExpiryDateMilliSec < CurrentDateMilliSec)=20
      return false;
    else
      return true;
=20
    }
  }

DrawLiveEditToolbar();
// End of Live Edit Code=20

// Peoplesoft Pop up=20
function pop(url, wide, tall, xtra) {
	if (xtra =3D=3D '' || xtra =3D=3D null) =
xtra=3D'scrollbars=3Dyes,resizable=3Dyes';
	window.open(url, 'palf', 'width=3D'+wide+',height=3D'+tall+','+xtra);
}
// Peoplesoft Pop up ends

//Functions specific to broadband
//for ebn show the Ondemand window and show Quote window
function showOndemand(showid, cmsid, regsite, bitrate) {
   showLiveViewer(showid,cmsid);
/*
  var v_regsite;
  var v_bitrate;
  if (!bitrate) v_bitrate =3D 'L150'; else v_bitrate =3D bitrate;
  if (!regsite) v_regsite =3D ''; else v_regsite =3D regsite;
	mywin =3D SpecialWin("onDemandWin", "popup.on_demand", showid, cmsid, =
v_regsite, v_bitrate, "N", 405, 675);
*/
}
function showOndemand2(showid, cmsid, src, act, bitrate) {
	showLiveViewer(showid,cmsid);
/*
  var v_bitrate;
  if (!bitrate) v_bitrate =3D 'L150'; else v_bitrate =3D bitrate;
	if(src && act) {
	  getUCMCookies();
  	if (!isUCMRegistered()) {
    	if ( confirm("This functionality is available to registered users =
only.\n\nWould you like to register or sign in?\n\n") ) {
      	top.location =3D auth_host + =
"/jsp/reg/register.jsp?src=3D"+src+"&Act=3D"+act+"&nextURL=3D" + =
escape(top.location.href);
	    }
  	  return;
	  }
	}
	mywin =3D SpecialWin("onDemandWin", "popup.on_demand", showid, cmsid, =
'', v_bitrate, "N", 405, 675);
	*/
}
function showISeminar(showid, cmsid, regsite, bitrate) {
  if(parseInt(showid)<=3D1546274) {
    var v_regsite;
    var v_bitrate;
    if (!bitrate) v_bitrate =3D 'L150'; else v_bitrate =3D bitrate;
    if (!regsite) v_regsite =3D ''; else v_regsite =3D regsite;
  	mywin =3D SpecialWin("ISeminarWin", "iseminar_viewer.ondemand", =
showid, cmsid, v_regsite, v_bitrate, "Y", 635, 450);
  } else {
    showLiveViewer(showid,cmsid,1180587,6);
  }
}

function showLiveViewer(showid,cmsid,src,act) {
    if(src && act) {
      getUCMCookies();
      if (!isUCMRegistered()) {
        if ( confirm("This functionality is available to registered =
users only.\n\nWould you like to register or sign in?\n\n") ) {
          top.location =3D auth_host + =
"/jsp/reg/register.jsp?src=3D"+src+"&Act=3D"+act+"&nextURL=3D" + =
escape(top.location.href);
        }
        return;
      }
    }

    var vWidth =3D 800;
    var vHeight =3D 360;
    var vTop =3D Math.ceil((screen.availHeight - vHeight)/2) - 25;
    var vLeft =3D Math.ceil((screen.availWidth - vWidth)/2);

    if(screen.width <=3D 800) {
      if(screen.width < 700) {
        alert("800x600 screen resolution or higher is recommended.");
      }
      vTop =3D 0;
      vLeft =3D 0;
      vWidth =3D screen.availWidth - 10;
      vHeight =3D screen.availHeight-46;
    }
    url =3D =
"http://www.oracle.com/pls/ebn/live_viewer.main?p_shows_id=3D" + showid =
+ "&p_referred=3D" + cmsid;
    =
window.open(url,"liveWin","top=3D"+vTop+",left=3D"+vLeft+",width=3D"+vWid=
th+",height=3D"+vHeight+",status=3Dyes,resizable=3Dno");
}

function ISLive(showid, cmsid, regsite, bitrate) {
  var v_regsite;
  var v_bitrate;
  if (!bitrate) v_bitrate =3D 'L150'; else v_bitrate =3D bitrate;
  if (!regsite) v_regsite =3D ''; else v_regsite =3D regsite;
	mywin =3D SpecialWin("ISLiveWin", "iseminar_viewer.live", showid, =
cmsid, v_regsite, v_bitrate, "Y", 635, 600);
}

function SpecialWin(name, purl, showid, cmsid, regsite, bitrate, reg, w, =
h) {
	mywin=3Dwindow.open('http://www.oracle.com/pls/ebn/' + purl + =
'?p_shows_id=3D'+ showid + '&p_regreq=3D' + reg  + '&p_referred=3D' + =
cmsid + '&p_regsite=3D' + regsite + '&p_win_size=3D' + bitrate, =
name,'toolbar=3D0,location=3D0,directories=3D0,status=3D0,menubar=3D0,scr=
ollbars=3D0,resizable=3Dno,width=3D' + w + ',height=3D' + h );
	return mywin;
}

function showDemo(id,ref,vWidth,vHeight)
{
    if(!vHeight) vHeight =3D 600;
    if(!vWidth) vWidth =3D 800;
    var vTop =3D Math.ceil((screen.availHeight - vHeight)/2) - 25;
    var vLeft =3D Math.ceil((screen.availWidth - vWidth)/2);
    if(screen.width <=3D 800) {
      if(screen.width < 700) {
        alert("800x600 screen resolution or higher is recommended.");
      }
      vTop =3D 0;
      vLeft =3D 0;
      vWidth =3D screen.availWidth - 10;
      vHeight =3D screen.availHeight-46;
    }
  =
window.open("http://www.oracle.com/pls/ebn/swf_viewer.load?p_shows_id=3D"=
+id+"&p_referred=3D"+ref+"&p_width=3D"+vWidth+"&p_height=3D"+vHeight,"dem=
oWin","width=3D"+vWidth+",height=3D"+vHeight+",resizable=3D0,top=3D"+vTop=
+",left=3D"+vLeft);
}

function Shwing(login, page, name, popup_width, popup_height) {
	var test =3D login.indexOf('%');
	if (test < 0) login =3D escape(login);
	page =3D page + '&args=3D' + login;
	window.open(page, name, =
'toolbar=3Dno,location=3Dno,directories=3Dno,status=3Dno,menubar=3Dno,res=
izable=3Dno,copyhistory=3Dno,scrollbars=3Dyes,width=3D' + popup_width + =
',height=3D' + popup_height);
}

//This is an additional function to handle certain Broadband shows which =
work only on Windows Media Player
function showWmViewer(showid,cmsid,src,act) {
    if(src && act) {
      getUCMCookies();
      if (!isUCMRegistered()) {
        if ( confirm("This functionality is available to registered =
users only.\n\nWould you like to register or sign in?\n\n") ) {
          top.location =3D auth_host + =
"/jsp/reg/register.jsp?src=3D"+src+"&Act=3D"+act+"&nextURL=3D" + =
escape(top.location.href);
        }
        return;
      }
    }
    var vWidth =3D 800;
    var vHeight =3D 360;
    var vTop =3D Math.ceil((screen.availHeight - vHeight)/2) - 25;
    var vLeft =3D Math.ceil((screen.availWidth - vWidth)/2);

    if(screen.width <=3D 800) {
      if(screen.width < 700) {
        alert("800x600 screen resolution or higher is recommended.");
      }
      vTop =3D 0;
      vLeft =3D 0;
      vWidth =3D screen.availWidth - 10;
      vHeight =3D screen.availHeight-46;
    }
    url =3D "http://www.oracle.com/pls/ebn/wm_viewer.main?p_shows_id=3D" =
+ showid;=20
    =
window.open(url,"WmvWin","top=3D"+vTop+",left=3D"+vLeft+",width=3D"+vWidt=
h+",height=3D"+vHeight+",status=3Dyes,resizable=3Dno");
}

//Functions specific to broadband ends
//Added for net Call by Ashok Chava
function getArg(arg_name, str) {
	var value =3D "", tmpstr =3D "";
	if (!str) str =3D location.search.substring(1);
	if (!str) return value;
	else {
		var tmparray =3D str.split("&");
		for (i=3D0; i<tmparray.length; i++) {
			tmpstr =3D tmparray[i].toUpperCase();
			if (tmpstr.indexOf(arg_name.toUpperCase() + "=3D") !=3D -1) {
				var tmp2array =3D tmparray[i].split("=3D");
				value =3D tmp2array[1];
			}
		}
	}
	return value;
}
function startNewCallback(ichannel,tmp) {

  var netcall_url =3D "http://" + location.hostname + "/admin/netcall/";
 =20
  var w =3D 565;
  var h =3D 515;

  var codes =3D new Array();
  codes[0] =3D [ "Oracle.com", "0i2wzK12842", "321884", "0", "0", "1", =
"newlauncher.html", "newthankyou.html", "nhthankyou.html", =
"newerror.html", "5:00 - 17:00 PST"  ];
  codes[1] =3D [ "Oracle Education", "2WcKOh12631", "322065", "0", "0", =
"1", "launcher.html", "thankyou.html","nhthankyou.html", "error.html", =
"5:00am - 5:00pm PST"  ];
  codes[2] =3D [ "Oracle Brazil", "QoEOxb13081", "344401", "0", "0", =
"55", "launcher-br.html", "thankyou-br.html","nhthankyou.html", =
"error-br.html", "9h00 - 18h00"  ];
  codes[3] =3D [ "Oracle Consulting", "invalid", "379366", "0", "0", =
"1", "launcher.html", "thankyou.html","nhthankyou.html", "error.html", " =
"  ];
  codes[4] =3D [ "Oracle Netherlands", "8StUfs2022", "365383", "0", "0", =
"31", "launcher.html", "thankyou.html","nhthankyou.html", "error.html", =
" "  ];
  codes[5] =3D [ "Oracle UK", "EIKzPM13381", "365383", "0", "0", "44", =
"launcher.html", "thankyou.html","nhthankyou.html", "error.html", =
"9:00am - 6:00pm"  ];
  codes[6] =3D [ "Oracle France", "Osyzdu3268", "365383", "0", "0", =
"33", "launcher-fr.html", "thankyou-fr.html","nhthankyou.html", =
"error-fr.html", "9h =E0 18h CET"  ];
  codes[7] =3D [ "Oracle Portugal", "okWd3e3309", "365383", "0", "0", =
"351", "launcher.html", "thankyou.html","nhthankyou.html", "error.html", =
"9:00am - 6:00pm"  ];
  codes[8] =3D [ "Oracle Spain", "1M4DJm3310", "365383", "0", "0", "34", =
"launcher.html", "thankyou.html","nhthankyou.html", "error.html", " "  =
];

	for (var i =3D 0; i < codes.length; i++) {
		if (ichannel =3D=3D codes[i][1]) {
	=09
      // build url
    =20
      var url =3D netcall_url  + codes[i][6]+
        "?memberid=3D" + codes[i][2] +
        "&country=3D" + codes[i][5] +
        "&responseurl=3D" + netcall_url  + codes[i][7] +
        "&errorurl=3D" + netcall_url  + codes[i][9] +
        "&timezone=3D" + escape(codes[i][10]) +
        "&ichannel=3D" + escape(codes[i][1])+
        "&nhresponseurl1=3D" + netcall_url  + codes[i][8] ;
     =20
      // adjust window size if necessary
      width =3D ((codes[i][3] =3D=3D 0) ? w : codes[i][3]);
      height =3D ((codes[i][4] =3D=3D 0) ? h : codes[i][4]);

      win =3D window.open(url,'netcall',"width=3D" + width + =
",height=3D"+ height =
+",scrollbars=3Dyes,resizable=3Dyes,menubar=3Dno,location=3Dno");
      win.opener =3D self;
			break;
		}
	}
}

//Added by Pramesh
// Function Call for Flash iSeminar  :=20
//#################showFlashISeminar##############################
function showFlashISeminar(id,ref,vWidth,vHeight)
{
    if(!vHeight) vHeight =3D 600;
    if(!vWidth) vWidth =3D 800;
    var vTop =3D Math.ceil((screen.availHeight - vHeight)/2) - 25;
    var vLeft =3D Math.ceil((screen.availWidth - vWidth)/2);
    if(screen.width <=3D 800) {
      if(screen.width < 700) {
        alert("800x600 screen resolution or higher is recommended.");
      }
      vTop =3D 0;
      vLeft =3D 0;
      vWidth =3D screen.availWidth - 10;
      vHeight =3D screen.availHeight-46;
    }
  =
window.open("http://www.oracle.com/pls/ebn/swf_viewer.load?p_shows_id=3D"=
+id+"&p_referred=3D"+ref+"&p_width=3D"+vWidth+"&p_height=3D"+vHeight,"iSe=
mFlashWin","width=3D"+vWidth+",height=3D"+vHeight+",resizable=3D0,top=3D"=
+vTop+",left=3D"+vLeft);
}
------=_NextPart_000_0000_01C8B1D2.79EF3EF0
Content-Type: application/x-js
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.oracle.com/admin/jscripts/lib.js

//-- lib.js: Core JS library for www.oracle.com
var orainfo_exists =3D false, otnnm_exists =3D false
var langjsLoad  =3D false, confirm_is_redirect  =3D false, =
survey_is_passthru =3D false
var dash 		=3D '<img src=3D"http://oracleimg.com/admin/images/dash.gif" =
border=3D0 width=3D150 height=3D5 alt=3D"">'
var r_arrow 	=3D '<img =
src=3D"http://oracleimg.com/admin/images/r_arrow.gif" border=3D0 =
width=3D10 height=3D10 alt=3D"">'
var d_arrow 	=3D '<img =
src=3D"http://oracleimg.com/admin/images/d_arrow.gif" border=3D0 =
width=3D10 height=3D10 alt=3D"">'
var tl_img		=3D '<img =
src=3D"http://oracleimg.com/admin/images/tl_img.gif" border=3D0 =
width=3D4 height=3D18 alt=3D"">'
var bl_img		=3D '<img =
src=3D"http://oracleimg.com/admin/images/bl_img.gif" border=3D0 =
width=3D4 height=3D6 alt=3D"">'
var tr_img		=3D '<img =
src=3D"http://oracleimg.com/admin/images/tr_img.gif" border=3D0 =
width=3D4 height=3D18 alt=3D"">'
var br_img		=3D '<img =
src=3D"http://oracleimg.com/admin/images/br_img.gif" border=3D0 =
width=3D4 height=3D6 alt=3D"">'
var l_crnr 		=3D '<img =
src=3D"http://oracleimg.com/admin/images/rc_lft.gif" width=3D4 =
height=3D20 alt=3D"">'
var r_crnr 		=3D '<img =
src=3D"http://oracleimg.com/admin/images/rc_rt.gif" width=3D4 =
height=3D20 alt=3D"">'
var see_image 	=3D '<img =
src=3D"http://oracleimg.com/admin/images/see.gif" width=3D100 =
height=3D25 border=3D0 alt=3D"">'
var try_image 	=3D '<img =
src=3D"http://oracleimg.com/admin/images/try.gif" width=3D100 =
height=3D25 border=3D0 alt=3D"">'
var buy_image 	=3D '<img =
src=3D"http://oracleimg.com/admin/images/buy.gif" width=3D93 height=3D35 =
border=3D0 alt=3D"">'
var block 		=3D ''

//-- Determine Frame status
var isFramed =3D false
if (parent.frames.length !=3D 0) var isFramed =3D true

//-- Cookie Objects
var ORA_UCM_VER;
var ORA_UCM_INFO;
var ORA_UCM_SRVC;
var ORA_UCM_CMP;
var user_info =3D new Array()
var otn_info  =3D new Array()
// MW these constants represent array indexes for user_info array
var FNAME=3D0, LNAME=3D1, TITLE=3D2, EMAIL=3D3, UID=3D4
var ROLE=3D5, Q2=3D6, Q3=3D7, Q4=3D8, Q5=3D9, OWNER=3D10, ASCII=3D11
var OTN_UID=3D0, OTN_IP=3D1, OTN_LVL=3D2
var OPP_LVL=3D3, OPP_PIN=3D4

//-- Utility function defs
var min =3D (60 * 1000)
var hour =3D (60 * min)
var day =3D (24 * hour)
var year =3D (365 * day)

//-- Portlet Style defs
var PLAIN =3D 3, WWW =3D 2
var portlet_title1 =3D "", portlet_title2 =3D ""

// Campaign Style Defs
var INLINE =3D 2, WRAPPED =3D 4

//-- Internal/external Adjustments
if ((location.hostname.indexOf("us.oracle.com") !=3D -1) && =
(location.hostname !=3D "www-qa.us.oracle.com")) {
	var ora_host 	=3D "http://www-stage.us.oracle.com"
  var elog_host   =3D "http://www.oracle.com"
	var odp_host 	=3D "http://profile-mktad.us.oracle.com"
	var auth_host 	=3D "http://profile-mktad.us.oracle.com"
	var apps_host 	=3D "http://www-stage.oracle.com/appsnet"
	var oln_host 	=3D "http://www-stage.us.oracle.com/education/oln"
	var iln_host 	=3D "http://ilearning.oracle.com"
	var emkt_host  =3D "http://emarketing.oraclecorp.com/pls/cms/";
} else if(location.hostname.indexOf("mktas.oracle.com") !=3D -1){
	var ora_host 	=3D "http://www-stage.us.oracle.com"
  var elog_host   =3D "http://www.oracle.com"
	var odp_host 	=3D "http://profile-mktas.oracle.com"
	var auth_host 	=3D "http://profile-mktas.oracle.com"
	var apps_host 	=3D "http://www-stage.oracle.com/appsnet"
	var oln_host 	=3D "http://www-stage.us.oracle.com/education/oln"
	var iln_host 	=3D "http://ilearning.oracle.com"
	var emkt_host  =3D "http://emarketing.oraclecorp.com/pls/cms/";
} else {
	var ora_host 	=3D "http://www.oracle.com"
  var elog_host   =3D "http://www.oracle.com"
	var odp_host 	=3D "https://profile.oracle.com"
	var auth_host 	=3D "https://profile.oracle.com"
	var apps_host 	=3D "http://www.oracle.com/appsnet"
	var oln_host 	=3D "http://www.oracle.com/education/oln"
	var iln_host 	=3D "http://ilearning.oracle.com"
	var emkt_host  =3D "http://www.oracle.com";
}

//-- Function Library
function startPage() {
}


function stretch(w, h) {
	return '<img src=3D"http://oracleimg.com/admin/images/stretch.gif" =
width=3D' + w + ' height=3D' + h + ' BORDER=3D0  alt=3D"">';
}

//-- Window Types
var TOP =3D 0, NEWS =3D 1, OTHER =3D 2, FULL =3D 3
var warnMsg =3D "The channel you have selected is available to =
registered users only.\n\nPlease register or sign in."
var warnSrvc =3D "Service Required Message."
var warnURL =3D "/ebusinessnetwork/register.html"
var warnSrvcURL =3D "/admin/account/index.html"
function promptUser(msgID) {
	if (!msgID) msg =3D warnMsg;
	else if (msgID =3D 1){
		msg =3D warnMsg;
		wurl =3D warnURL;
	}
	else if (msgID =3D 2){
		msg =3D warnSrvc;
		wurl =3D warnSrvcURL;
	}
	if (confirm (msg))top.location =3D wurl;
	else return;
}

function goCheck(url, type, srvc) {
	if (!type || type =3D=3D "") type =3D TOP;
	if (!orainfo_exists) promptUser(1);
	else {
		if (srvc){
			if (ORA_UCM_SRVC.services.indexOf("/" + srvc + "/") =3D=3D -1) =
promptUser(2);
		}
		else {
			if (type =3D=3D TOP) top.location =3D "./" + url
			else if (type =3D=3D NEWS) window.open(url, "newsWin",  =
"resizable,scrollbars,width=3D460,height=3D575,top=3D0,screenY=3D0,left=3D=
0,screenX=3D0");
			else if (type =3D=3D OTHER) window.open(url, "otherWin", =
"resizable,scrollbars,width=3D350,height=3D525,top=3D0,screenY=3D0,left=3D=
0,screenX=3D0");
			else if (type =3D=3D FULL) window.open(url, "fullWin");
		}
	}
}

function goWin(url, type, w, h, scroll) {
	if (!type || type =3D=3D "") type =3D 1;
	if (type =3D=3D 1) top.location =3D "./" + url;
	else if (type =3D=3D 2) window.open(url, "smallWin", =
"toolbar=3D0,location=3D0,directories=3D0,status=3D0,menubar=3D0,resizabl=
e=3D1,scrollbars=3D" + scroll + ",width=3D" + w + ",height=3D" + h + =
",top=3D0,screenY=3D0,left=3D0,screenX=3D0");
	else if (type =3D=3D 3) window.open(url, "fullWin");
}

function concierge(URL) {
  var w =3D 473;
  var h =3D 355;
	if (!URL) URL =3D '/admin/concierge/popup-us-en.html';
	mywin =3D window.open(URL, "smallWin", =
"toolbar=3D0,location=3D0,directories=3D0,status=3D0,menubar=3D0,resizabl=
e=3D1,scrollbars=3D0,width=3D" + w + ",height=3D" + h + =
",top=3D0,screenY=3D0,left=3D0,screenX=3D0");
  mywin.focus();
}

function startPage() {
}



function goOLN() {
  ORA_UCM_VER   =3D top.ORA_UCM_VER;
  ORA_UCM_INFO  =3D top.ORA_UCM_INFO;
  ORA_UCM_SRVC  =3D top.ORA_UCM_SRVC;
  if (!isUCMRegistered()) {
    location =3D ora_host + "/admin/account/oln/oln_login.html";
	}
  else if (top.ORA_UCM_SRVC.services.indexOf("/OLN/") =3D=3D -1) {
    if(top.ORA_UCM_SRVC.services.indexOf("/EMP/") =3D=3D -1) {
      location =3D "/admin/account/oln/oln_msg.html";
    } else {
      top.location =3D iln_host;
      // var ilnwin =3D window.open(iln_host, "iln", =
"toolbar=3D1,location=3D1,directories=3D1,status=3D1,menubar=3D1,resizabl=
e=3D1,scrollbars=3D1,width=3D800,height=3D600");
      // top.location =3D ora_host + "/education/oln/index.html";
		  // ilnwin.focus();
    }
  } else {
      top.location =3D iln_host;
    // var ilnwin =3D window.open(iln_host, "iln", =
"toolbar=3D1,location=3D1,directories=3D1,status=3D1,menubar=3D1,resizabl=
e=3D1,scrollbars=3D1,width=3D800,height=3D600");
    // top.location =3D ora_host + "/education/oln/index.html";
    // ilnwin.focus();
  }
}


function fix_action(host, form, action){
	form.action =3D host + action;
	return true;
}

function getName(){
	// MW: modify to check if name is printable (ascii & not null)
	if (isUCMRegistered()) {
		if ( (ORA_UCM_INFO.ascii =3D=3D 1) && (ORA_UCM_INFO.firstname !=3D =
"null") && (ORA_UCM_INFO.lastname !=3D "null")) {
			return ORA_UCM_INFO.firstname + " " + ORA_UCM_INFO.lastname;
		} else {
			return ORA_UCM_INFO.username;
		}
	} else {
		return "";
	}
}

function getUID(){
	if (isUCMRegistered()) return ORA_UCM_INFO.username;
	else return "";
}

function getArg(arg_name, str) {
	var value =3D "", tmpstr =3D "";
	if (!str) str =3D location.search.substring(1);
	if (!str) return value;
	else {
		var tmparray =3D str.split("&");
		for (i=3D0; i<tmparray.length; i++) {
			tmpstr =3D tmparray[i].toUpperCase();
			if (tmpstr.indexOf(arg_name.toUpperCase() + "=3D") !=3D -1) {
				var tmp2array =3D tmparray[i].split("=3D");
				value =3D tmp2array[1];
			}
		}
	}
	return value;
}


function signout(url) {
/*
    var exp =3D new Date();
    exp.setYear(70);
    var exp_str =3D "expires=3D" + exp.toGMTString() + "; =
domain=3D.oracle.com; path=3D/;";
    document.cookie =3D "ORA_UCM_VER=3D;" + exp_str;
    document.cookie =3D "ORA_UCM_INFO=3D;" + exp_str;
    document.cookie =3D "ORA_UCM_SRVC=3D;" + exp_str;
    top.location =3D url;
*/
    rUrl =3D escape(window.location.href);=20
    =
window.location=3D"http://profile.oracle.com/jsp/reg/signout.jsp?logoutur=
l=3D"+rUrl; //stage only
}

function signin(current) {
  var current =3D (current) ? current : top.location;
  var URL =3D auth_host + =
"/jsp/reg/register.jsp?act=3D5&src=3D1180588&nextURL=3D" + =
escape(current);
  top.location =3D URL;
}


//-- Get and Set Language based information
//-- This can be moved to lang.js file when ready
var language_root  	=3D "";
var print_label    	=3D "Printer View";

// UCM Cookie Libraries //
function existsUCMCookie(s) {
	if (s =3D=3D "ORA_UCM_VER") {
		if ((ORA_UCM_VER.version !=3D null) &&
			(ORA_UCM_VER.username !=3D null) &&
			(ORA_UCM_VER.username_enc !=3D null) &&
			(ORA_UCM_VER.ipaddress !=3D null) &&
			(ORA_UCM_VER.ipaddress_enc !=3D null) ) {
		return true;
		}
	}
	else if (s =3D=3D "ORA_UCM_INFO") {
		//MW: reduce for v2 cookies
		if ((ORA_UCM_INFO.version !=3D null) &&
			(ORA_UCM_INFO.guid !=3D null) &&
			(ORA_UCM_INFO.username !=3D null)) {
		return true;
		}
	}
	else if (s =3D=3D "ORA_UCM_SRVC") {
		if ((ORA_UCM_SRVC.value !=3D null) &&
			(ORA_UCM_SRVC.version !=3D null)) {
		}
		return true;
	}
	// Added by cyappert
	else if (s =3D=3D "ORA_UCM_CMP") {
		if ((ORA_UCM_CMP.value !=3D null) &&
			(ORA_UCM_CMP.version !=3D null)) {
		}
		return true;
	}

	return false;
}
function isUCMRegistered() {

	if (existsUCMCookie("ORA_UCM_INFO") =3D=3D true) {
		orainfo_exists =3D true;
		otnnm_exists =3D true;
		return true;
	}
	return false;
}
function isUCMAnonymous() {

	if ( (ORA_UCM_INFO.version !=3D null) &&
		(ORA_UCM_INFO.guid !=3D null) &&
		(isUCMRegistered() =3D=3D false) ) {
	return true;
	}
	return false;
}
function getUCMCookies() {
	ORA_UCM_VER   =3D new private_ORA_UCM_VER();
	ORA_UCM_INFO  =3D new private_ORA_UCM_INFO();
	ORA_UCM_SRVC  =3D new private_ORA_UCM_SRVC();
}
function private_ORA_UCM_VER () {

	this.value_enc =3D getCookieData("ORA_UCM_VER");
	this.value     =3D private_UCMCookieDecode(this.value_enc);
	this.array     =3D this.value.split("OR1:");

	this.version       =3D this.array[0];
	this.username      =3D this.array[1];
	this.username_enc  =3D this.array[2];
	this.ipaddress     =3D this.array[3];
	this.ipaddress_enc =3D this.array[4];
}
//-- Cookie Functions
//JB: moved checkCMP to reglet.js

function readInfoCookie() {
//MW: Modify to support v2 cookie
	getUCMCookies();
	if (isUCMRegistered() =3D=3D true) {
		orainfo_exists =3D true;
		user_info[FNAME] =3D ORA_UCM_INFO.firstname;
		user_info[LNAME] =3D ORA_UCM_INFO.lastname;
		user_info[TITLE] =3D ORA_UCM_INFO.title;
		user_info[EMAIL] =3D ORA_UCM_INFO.email;
		user_info[UID]   =3D ORA_UCM_INFO.username;
		user_info[ROLE]  =3D ORA_UCM_INFO.interest1;
		user_info[Q2]    =3D ORA_UCM_INFO.interest2;
		user_info[Q3]    =3D ORA_UCM_INFO.interest3;
		user_info[Q4]    =3D ORA_UCM_INFO.interest4;
		user_info[Q5]    =3D ORA_UCM_INFO.interest5;
		user_info[ASCII] =3D ORA_UCM_INFO.ascii;
	}
	return true;
}

function private_ORA_UCM_INFO() {
  this.value_enc   =3D getCookieData("ORA_UCM_INFO");

  // check for new or old cookie format
  if (this.value_enc.substr(0,4) =3D=3D "/MP/") { // this is version 1

    this.value       =3D private_UCMCookieDecode(this.value_enc);
    this.array       =3D this.value.split("OR1:");

    this.version      =3D this.array[0];
    this.guid         =3D this.array[1];
    this.firstname    =3D this.array[2];
    this.lastname     =3D this.array[3];
    this.username     =3D this.array[4];
    this.email        =3D this.array[5];
    this.companyname  =3D this.array[6];
    this.title        =3D this.array[7];
    this.country      =3D this.array[8];
    this.language     =3D this.array[9];
    this.characterset =3D this.array[10];
    this.interest1    =3D this.array[11];
    this.interest2    =3D this.array[12];
    this.interest3    =3D this.array[13];
    this.interest4    =3D this.array[14];
    this.interest5    =3D this.array[15];
    // MW: old cookies only support ascii first and last name
    this.ascii		  =3D 1;


  } else { // this is version 2 or 3

    this.array       =3D this.value_enc.split("~");

    this.version      =3D this.array[0];
    this.guid         =3D this.array[1];
    this.firstname    =3D this.array[2];
    this.lastname     =3D this.array[3];
    this.username     =3D this.array[4];
    this.country      =3D this.array[5];
    this.language     =3D this.array[6];
    this.interest1    =3D this.array[7];
    this.interest2    =3D this.array[8];
    this.interest3    =3D this.array[9];
    this.interest4    =3D this.array[10];
    this.ascii        =3D this.array[11];
    this.email        =3D this.username;
    this.companyname  =3D null;
    this.title        =3D null;
    this.characterset =3D null;
    this.interest5    =3D null;
  }

  // upgrade from v2 to v3
  if (this.version =3D=3D 2) {

    // interest 1
    var Jobs =3D new Array();
    Jobs["2"]  =3D "";
    Jobs["3"]  =3D "";
    Jobs["-1"] =3D "";
    Jobs["5"]  =3D "";
    Jobs["8"]  =3D "";
    Jobs["0"]  =3D "";
    Jobs["23"] =3D 33;
    Jobs["31"] =3D 22;
    Jobs["4"]  =3D 33;
    Jobs["1"]  =3D 33;
    if (Jobs[this.interest1]!=3Dnull)
      this.interest1 =3D Jobs[this.interest1];

    // interest 2
    if (this.interest2!=3Dnull) {
      var OldIndustries =3D this.interest2.split("/");
      for (i=3D1; i<OldIndustries.length; i++) {
        if (OldIndustries[i]!=3Dnull) {
          this.interest2 =3D OldIndustries[i];
          i =3D OldIndustries.length;
        }
      }
    }

    var Industries =3D new Array();
    Industries["1"]  =3D 40;
    Industries["3"]  =3D 13;
    Industries["5"]  =3D 13;
    Industries["7"]  =3D 40;
    Industries["9"]  =3D 10;
    Industries["12"] =3D 34;
    Industries["14"] =3D 13;
    Industries["15"] =3D 33;
    Industries["16"] =3D 34;
    Industries["18"] =3D 22;
    Industries["19"] =3D 19;
    Industries["22"] =3D 41;
    Industries["26"] =3D 27;
    Industries["28"] =3D 27;
    Industries["29"] =3D 10;
    Industries["30"] =3D 8;
    Industries["32"] =3D 34;
    Industries["41"] =3D 13;
    Industries["43"] =3D 20;
    if (Industries[this.interest2]!=3Dnull)
      this.interest2 =3D Industries[this.interest2];

    // interest 3
    var Relationships =3D new Array();
    Relationships["0"] =3D 6;
    Relationships["2"] =3D "";
    Relationships["3"] =3D "";
    Relationships["4"] =3D "";
    if (Relationships[this.interest3]!=3Dnull)
      this.interest3 =3D Relationships[this.interest3];

    var newCookie =3D [
      "3", this.guid, this.firstname,
      this.lastname, this.username, this.country,
      this.language, this.interest1, this.interest2,
      this.interest3, this.interest4, this.ascii,
      this.email, this.companyname, this.title,
      this.characterset, this.interest5
    ];

    var cookieData =3D newCookie.join("~");
    setCookie("ORA_UCM_INFO", cookieData, 1, "year");
  }
}

function private_ORA_UCM_SRVC () {
  this.value_enc =3D getCookieData("ORA_UCM_SRVC");
  var delimiter; // used to do the second split

  // check for encoded version
  if (this.value_enc.substr(0,4) =3D=3D "/QT/") { // version 1
    this.value     =3D private_UCMCookieDecode(this.value_enc);
    this.array     =3D this.value.split("SV1:");
    delimiter =3D "OR1:";
  } else { // version 2
    this.array     =3D this.value_enc.split("*");
    delimiter =3D "~";
  }

  this.version    =3D this.array[0];
  this.services   =3D '/';

  for (i=3D1; i<this.array.length; i++) {
    this.srvc_pieces =3D this.array[i].split(delimiter);

    eval ('this.' + this.srvc_pieces[0] + ' =3D new Array();');
    eval ('this.' + this.srvc_pieces[0] + '.code   =3D =
this.srvc_pieces[0];');
    eval ('this.' + this.srvc_pieces[0] + '.member =3D =
this.srvc_pieces[1];');
    eval ('this.' + this.srvc_pieces[0] + '.admin  =3D =
this.srvc_pieces[2];');
    eval ('this.' + this.srvc_pieces[0] + '.role   =3D =
this.srvc_pieces[3];');

    if (this.srvc_pieces[4] !=3D null || this.srvc_pieces[4] !=3D "") {
      eval ('this.' + this.srvc_pieces[0] + '.extra  =3D =
this.srvc_pieces[4].split("SE1:");');
    }
    this.services +=3D this.srvc_pieces[0];
    this.services +=3D '/';
  }
}

// MW: this is only used for v1 cookies
function private_UCMCookieDecode(value) {
	var asciiArray =3D " =
!\"#$&'()*+,-./0123456789:;<=3D>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefgh=
ijklmnopqrstuvwxyz{|}~.";
	var urldecodevalue =3D unescape(value);
	var ucmdecodevalue =3D '';
	var ch =3D '';

	for (i=3D0; i<urldecodevalue.length; i++) {

		ch =3D urldecodevalue.charAt(i)
		j =3D asciiArray.indexOf(ch);
		if (j !=3D -1) {

			j +=3D2;
			if( j > ( asciiArray.length - 1 ) ) {
				j -=3D asciiArray.length;
			}
			ucmdecodevalue +=3D asciiArray.charAt( j );
		}
		else {
			ucmdecodevalue +=3D ch;
		}
	}
	return ucmdecodevalue;
}

function getCookieData(label) {
	var labelLen =3D label.length
	var cLen =3D document.cookie.length
	var i =3D 0
	var cEnd
	while (i < cLen) {
	var j =3D i + labelLen
	if (document.cookie.substring(i,j) =3D=3D label) {
		cEnd =3D document.cookie.indexOf(";",j)
		if (cEnd =3D=3D -1) {
			cEnd =3D document.cookie.length
		}
	j++;
	return unescape(document.cookie.substring(j,cEnd))
	}

	i++
	}

	return "";
}

function setCookie(name, value, time, ttype) {
	var exp =3D new Date();
	var cookieval =3D name + "=3D" + escape(value) + "; ";
	var date =3D exp.getTime();
	if (time > 0) {
      	if (ttype =3D=3D "year") exp.setTime(date + (time * year));
		else if (ttype =3D=3D "day") exp.setTime(date + (time * day));
		else if (ttype =3D=3D "hour") exp.setTime(date + (time * hour));

      	cookieval +=3D "expires=3D" + exp.toGMTString();
	}
    cookieval +=3D "; domain=3D.oracle.com; path=3D/";
	document.cookie =3D cookieval;
}

function getCookie(foo) {
	return getCookieData(foo);
}

//-- Hipbone to Netcall mapping
//-- contact john burbridge to make changes!!
function startCallback(ichannel,tmp) {

  var netcall_url =3D "http://" + location.hostname + "/admin/netcall/";
  var w =3D 440;
  var h =3D 260;

  var codes =3D new Array();
  codes[0] =3D [ "Oracle.com", "0i2wzK12842", "321884", "0", "0", "1", =
"launcher.html", "thankyou.html", "error.html", "5:00am - 6:00pm PST"  =
];
  codes[1] =3D [ "Oracle Education", "2WcKOh12631", "322065", "0", "0", =
"1", "launcher.html", "thankyou.html", "error.html", "5:00am - 5:00pm =
PST"  ];
  codes[2] =3D [ "Oracle Brazil", "QoEOxb13081", "344401", "0", "0", =
"55", "launcher-br.html", "thankyou-br.html", "error-br.html", "9h00 - =
18h00"  ];
  codes[3] =3D [ "Oracle Consulting", "invalid", "379366", "0", "0", =
"1", "launcher.html", "thankyou.html", "error.html", " "  ];
  codes[4] =3D [ "Oracle Netherlands", "8StUfs2022", "365383", "0", "0", =
"31", "launcher.html", "thankyou.html", "error.html", " "  ];
  codes[5] =3D [ "Oracle UK", "EIKzPM13381", "365383", "0", "0", "44", =
"launcher.html", "thankyou.html", "error.html", "9:00am - 6:00pm"  ];
  codes[6] =3D [ "Oracle France", "Osyzdu3268", "365383", "0", "0", =
"33", "launcher-fr.html", "thankyou-fr.html", "error-fr.html", "9h =E0 =
18h CET"  ];
  codes[7] =3D [ "Oracle Portugal", "okWd3e3309", "365383", "0", "0", =
"351", "launcher.html", "thankyou.html", "error.html", "9:00am - 6:00pm" =
 ];
  codes[8] =3D [ "Oracle Spain", "1M4DJm3310", "365383", "0", "0", "34", =
"launcher.html", "thankyou.html", "error.html", " "  ];

	for (var i =3D 0; i < codes.length; i++) {
		if (ichannel =3D=3D codes[i][1]) {

      // build url
      var url =3D netcall_url  + codes[i][6]+
        "?memberid=3D" + codes[i][2] +
        "&country=3D" + codes[i][5] +
        "&responseurl=3D" + netcall_url  + codes[i][7] +
        "&errorurl=3D" + netcall_url  + codes[i][8] +
        "&timezone=3D" + escape(codes[i][9]);

      // adjust window size if necessary
      width =3D ((codes[i][3] =3D=3D 0) ? w : codes[i][3]);
      height =3D ((codes[i][4] =3D=3D 0) ? h : codes[i][4]);

      win =3D window.open(url,'netcall',"width=3D" + width + =
",height=3D"+ height =
+",scrollbars=3Dyes,resizable=3Dyes,menubar=3Dno,location=3Dno");
      win.opener =3D self;
			break;
		}
	}
}

libjsLoad =3D true;

//-- elogger.js: JS library for the elogger
var g_url =3D elog_host + "/webapps/elog/trackurl";
var base_url	=3D "http://" + location.hostname;

function escapeURL(p_text) {
  re1 =3D /\&/gi;
  re2 =3D / /gi;
  re3 =3D /\+/gi;
 var  p_str =3D p_text;
  p_str =3D p_str.replace(re1,"%26");
  p_str =3D p_str.replace(re2,"%2B");
  p_str =3D p_str.replace(re3,"%2B");
  return p_str;
}

function goAURL(p_url,  p_object_id, p_subobject_id)  {
 	getUCMCookies();
  ORA_UCM_VER   =3D top.ORA_UCM_VER;
  ORA_UCM_INFO  =3D top.ORA_UCM_INFO;
  ORA_UCM_SRVC  =3D top.ORA_UCM_SRVC;

	if (!isUCMRegistered()) {
		alert("You don't appear to be signed in." + " Please sign-in or =
register to the upper right.");
	} else {
		goURL(p_url,  p_object_id, p_subobject_id);
	}

}

function trackURL(p_url,  p_object_id, p_subobject_id)  {

  var from_url =3D escapeURL(document.URL);
  var to_url =3D escapeURL(p_url);
  var dest_url =3D "";
  var src_url =3D "";
  var trackable_url =3D "";

  dest_url =3D (to_url.indexOf("http") =3D=3D -1) ? base_url + to_url : =
to_url;
  src_url =3D (from_url.indexOf("http") =3D=3D -1) ? base_url + from_url =
: from_url;

  trackable_url =3D g_url + "?d=3D" + dest_url + "&s=3D" + src_url +  =
"&di=3D"  + p_object_id ;
  return trackable_url;
}

function goURL(p_url, p_object_id, p_subobject_id)  {
  trackable_url =3D trackURL(p_url,p_object_id,p_subobject_id);
  location =3D trackable_url;
}

// for 1x1 images
function logURL(p_object_id, p_subobject_id ) {

 var from_url =3D escapeURL(document.referrer);
 var  to_url =3D escape(document.URL);
 var dest_url =3D "";
 var src_url =3D "";
 var trackable_url =3D "";
   if ( to_url.indexOf("http") =3D=3D -1)   dest_url =3D base_url + =
to_url;
   if ( from_url.indexOf("http") =3D=3D -1) src_url =3D base_url + =
from_url;

   trackable_url =3D g_url + "?d=3D" + dest_url + "&s=3D" + src_url +  =
"&di=3D"  + p_object_id   + "&a=3Dimage" ;
   document.write("<img src=3D\"" + trackable_url + "\">");
}

//for ebn show the Ondemand window and show Quote window
function showOndemand(showid, cmsid, regsite, bitrate) {
  showLiveViewer(showid,cmsid);
/*
  var v_regsite;
  var v_bitrate;
  if (!bitrate) v_bitrate =3D 'L150'; else v_bitrate =3D bitrate;
  if (!regsite) v_regsite =3D ''; else v_regsite =3D regsite;
	mywin =3D SpecialWin("onDemandWin", "popup.on_demand", showid, cmsid, =
v_regsite, v_bitrate, "N", 405, 675);
*/
}
function showOndemand2(showid, cmsid, src, act, bitrate) {
  var v_bitrate;
  if (!bitrate) v_bitrate =3D 'L150'; else v_bitrate =3D bitrate;
	if(src && act) {
	  getUCMCookies();
  	if (!isUCMRegistered()) {
    	if ( confirm("This functionality is available to registered users =
only.\n\nWould you like to register or sign in?\n\n") ) {
      	top.location =3D auth_host + =
"/jsp/reg/register.jsp?src=3D"+src+"&Act=3D"+act+"&nextURL=3D" + =
escape(top.location.href);
	    }
  	  return;
	  }
	}
	mywin =3D SpecialWin("onDemandWin", "popup.on_demand", showid, cmsid, =
'', v_bitrate, "N", 405, 675);
}
function showISeminar(showid, cmsid, regsite, bitrate) {
  if(parseInt(showid)<=3D1546274) {
    var v_regsite;
    var v_bitrate;
    if (!bitrate) v_bitrate =3D 'L150'; else v_bitrate =3D bitrate;
    if (!regsite) v_regsite =3D ''; else v_regsite =3D regsite;
  	mywin =3D SpecialWin("ISeminarWin", "iseminar_viewer.ondemand", =
showid, cmsid, v_regsite, v_bitrate, "Y", 635, 450);
  } else {
    showLiveViewer(showid,cmsid,1180587,6);
  }
}

function showLiveViewer(showid,cmsid,src,act) {
    if(src && act) {
      getUCMCookies();
      if (!isUCMRegistered()) {
        if ( confirm("This functionality is available to registered =
users only.\n\nWould you like to register or sign in?\n\n") ) {
          top.location =3D auth_host + =
"/jsp/reg/register.jsp?src=3D"+src+"&Act=3D"+act+"&nextURL=3D" + =
escape(top.location.href);
        }
        return;
      }
    }

    var vWidth =3D 800;
    var vHeight =3D 360;
    var vTop =3D Math.ceil((screen.availHeight - vHeight)/2) - 25;
    var vLeft =3D Math.ceil((screen.availWidth - vWidth)/2);

    if(screen.width <=3D 800) {
      if(screen.width < 700) {
        alert("800x600 screen resolution or higher is recommended.");
      }
      vTop =3D 0;
      vLeft =3D 0;
      vWidth =3D screen.availWidth - 10;
      vHeight =3D screen.availHeight-46;
    }
    url =3D =
"http://www.oracle.com/pls/ebn/live_viewer.main?p_shows_id=3D" + showid =
+ "&p_referred=3D" + cmsid;
    =
window.open(url,"liveWin","top=3D"+vTop+",left=3D"+vLeft+",width=3D"+vWid=
th+",height=3D"+vHeight+",status=3Dyes,resizable=3Dno");
}
function ISLive(showid, cmsid, regsite, bitrate) {
  var v_regsite;
  var v_bitrate;
  if (!bitrate) v_bitrate =3D 'L150'; else v_bitrate =3D bitrate;
  if (!regsite) v_regsite =3D ''; else v_regsite =3D regsite;
	mywin =3D SpecialWin("ISLiveWin", "iseminar_viewer.live", showid, =
cmsid, v_regsite, v_bitrate, "Y", 635, 600);
}
function screenWatch(showid, cmsid, regsite, bitrate) {
  var v_regsite;
  var v_bitrate;
  if (!bitrate) v_bitrate =3D ''; else v_bitrate =3D bitrate;
  if (!regsite) v_regsite =3D ''; else v_regsite =3D regsite;
	mywin =3D SpecialWin("ScreenWatchWin", "screenwatch.video", showid, =
cmsid, v_regsite, v_bitrate, "N", 812, 637);
}
function SpecialWin(name, purl, showid, cmsid, regsite, bitrate, reg, w, =
h) {
	mywin=3Dwindow.open('http://www.oracle.com/pls/ebn/' + purl + =
'?p_shows_id=3D'+ showid + '&p_regreq=3D' + reg  + '&p_referred=3D' + =
cmsid + '&p_regsite=3D' + regsite + '&p_win_size=3D' + bitrate, =
name,'toolbar=3D0,location=3D0,directories=3D0,status=3D0,menubar=3D0,scr=
ollbars=3D0,resizable=3Dno,width=3D' + w + ',height=3D' + h );
	return mywin;
}
function showDemo(id,ref,vWidth,vHeight)
{
    if(!vHeight) vHeight =3D 600;
    if(!vWidth) vWidth =3D 800;
    var vTop =3D Math.ceil((screen.availHeight - vHeight)/2) - 25;
    var vLeft =3D Math.ceil((screen.availWidth - vWidth)/2);
    if(screen.width <=3D 800) {
      if(screen.width < 700) {
        alert("800x600 screen resolution or higher is recommended.");
      }
      vTop =3D 0;
      vLeft =3D 0;
      vWidth =3D screen.availWidth - 10;
      vHeight =3D screen.availHeight-46;
    }
  =
window.open("http://www.oracle.com/pls/ebn/swf_viewer.load?p_shows_id=3D"=
+id+"&p_referred=3D"+ref+"&p_width=3D"+vWidth+"&p_height=3D"+vHeight,"dem=
oWin","width=3D"+vWidth+",height=3D"+vHeight+",resizable=3D0,top=3D"+vTop=
+",left=3D"+vLeft);
}

function open_window( Dest, Name )
{
  lov_win =3D window.open( Dest, Name, =
"width=3D470,height=3D170,scrollbars=3Dyes,resizable=3Dyes,menubar=3Dyes,=
location=3Dyes,status=3Dyes,toolbar=3Dyes" );
  lov_win.opener =3D self;
}

function Shwing(login, page, name, popup_width, popup_height) {
	var test =3D login.indexOf('%');
	if (test < 0) login =3D escape(login);
	page =3D page + '&args=3D' + login;
	window.open(page, name, =
'toolbar=3Dno,location=3Dno,directories=3Dno,status=3Dno,menubar=3Dno,res=
izable=3Dno,copyhistory=3Dno,scrollbars=3Dyes,width=3D' + popup_width + =
',height=3D' + popup_height);
}

function drawIdentBlock() {
	getUCMCookies();
	if (isUCMRegistered()) {
		// MW: must check ascii flag for v2 cookies
	    if (ORA_UCM_INFO.ascii =3D=3D 1) {
			var uname =3D ORA_UCM_INFO.firstname + " " + ORA_UCM_INFO.lastname
		} else {
			var uname =3D ORA_UCM_INFO.username
		}
		block =3D '<font class=3D"WelcomeOption">&nbsp;Welcome ' + uname + ' =
(';
		block +=3D '<a class=3D"WelcomeOption" href=3D"javascript:signout(' + =
"'" + top.location + "'" + ')">Sign Out</A>)</font>\n'
	} else {
		block =3D '<font class=3D"WelcomeOption">&nbsp;(<a =
class=3D"WelcomeOption" href=3D"/ebusinessnetwork/admin/register.html" =
target=3D"_top">Click Here</a> to register for a free Oracle web =
account)</font>\n'
	}

	document.write(block)
	document.close()
}

//This is an additional function to handle certain Broadband shows which =
work only on Windows Media Player
function showWmViewer(showid,cmsid,src,act) {
    if(src && act) {
      getUCMCookies();
      if (!isUCMRegistered()) {
        if ( confirm("This functionality is available to registered =
users only.\n\nWould you like to register or sign in?\n\n") ) {
          top.location =3D auth_host + =
"/jsp/reg/register.jsp?src=3D"+src+"&Act=3D"+act+"&nextURL=3D" + =
escape(top.location.href);
        }
        return;
      }
    }
    var vWidth =3D 800;
    var vHeight =3D 360;
    var vTop =3D Math.ceil((screen.availHeight - vHeight)/2) - 25;
    var vLeft =3D Math.ceil((screen.availWidth - vWidth)/2);

    if(screen.width <=3D 800) {
      if(screen.width < 700) {
        alert("800x600 screen resolution or higher is recommended.");
      }
      vTop =3D 0;
      vLeft =3D 0;
      vWidth =3D screen.availWidth - 10;
      vHeight =3D screen.availHeight-46;
    }
    url =3D "http://www.oracle.com/pls/ebn/wm_viewer.main?p_shows_id=3D" =
+ showid;=20
    =
window.open(url,"WmvWin","top=3D"+vTop+",left=3D"+vLeft+",width=3D"+vWidt=
h+",height=3D"+vHeight+",status=3Dyes,resizable=3Dno");
}








------=_NextPart_000_0000_01C8B1D2.79EF3EF0
Content-Type: application/x-js
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.oracle.com/admin/jscripts/otn_nav1.js

function mmLoadMenus() {
  if (window.mm_menu_0526141046_0) return;
  window.mm_menu_0526141046_0 =3D new Menu("root",135,30,"Arial, =
Helvetica, =
sans-serif",11,"#000000","#FF0000","#f6f6f6","#f6f6f6","left","middle",4,=
0,1000,-5,7,true,true,true,1,true,false);
mm_menu_0526141046_0.addMenuItem("Downloads =
Index","location=3D'/technology/software/index.html'");
  =
mm_menu_0526141046_0.addMenuItem("Database","location=3D'/technology/soft=
ware/products/database/index.html'");
  mm_menu_0526141046_0.addMenuItem("Application =
Server","location=3D'/technology/software/products/ias/index.html'");
  mm_menu_0526141046_0.addMenuItem("Enterprise =
Manager","location=3D'/technology/software/products/oem/index.html'");
  =
mm_menu_0526141046_0.addMenuItem("JDeveloper","location=3D'/technology/so=
ftware/products/jdev/index.html'");
  mm_menu_0526141046_0.addMenuItem("Secure Enterprise =
Search","location=3D'/technology/software/products/search/index.html'");
  =
mm_menu_0526141046_0.addMenuItem("More...","location=3D'/technology/softw=
are/index.html'");
   mm_menu_0526141046_0.hideOnMouseOut=3Dtrue;
   mm_menu_0526141046_0.menuBorder=3D1;
   mm_menu_0526141046_0.menuLiteBgColor=3D'#CCCCCC';
   mm_menu_0526141046_0.menuBorderBgColor=3D'#ffffff';
   mm_menu_0526141046_0.bgColor=3D'#CCCCCC';
  window.mm_menu_0526141428_1 =3D new Menu("root",115,30,"Arial, =
Helvetica, =
sans-serif",11,"#000000","#FF0000","#f6f6f6","#f6f6f6","left","middle",4,=
0,1000,-5,7,true,true,true,1,true,false);
mm_menu_0526141428_1.addMenuItem("Documentation =
Index","location=3D'/technology/documentation/index.html'");
mm_menu_0526141428_1.addMenuItem("Database","location=3D'/technology/docu=
mentation/database.html'");
  mm_menu_0526141428_1.addMenuItem("Application =
Server","location=3D'/technology/documentation/appserver.html'");
  mm_menu_0526141428_1.addMenuItem("Enterprise =
Manager","location=3D'/technology/documentation/oem.html'");
  mm_menu_0526141428_1.addMenuItem("Developer =
Suite","location=3D'/technology/documentation/devsuite.html'");
  =
mm_menu_0526141428_1.addMenuItem("JDeveloper","location=3D'/technology/do=
cumentation/jdev.html'");
  mm_menu_0526141428_1.addMenuItem("Collaboration =
Suite","location=3D'/technology/documentation/collab.html'");
  =
mm_menu_0526141428_1.addMenuItem("Applications","location=3D'/technology/=
documentation/applications.html'");
  =
mm_menu_0526141428_1.addMenuItem("More...","location=3D'/technology/docum=
entation/index.html'");
   mm_menu_0526141428_1.hideOnMouseOut=3Dtrue;
   mm_menu_0526141428_1.menuBorder=3D1;
   mm_menu_0526141428_1.menuLiteBgColor=3D'#CCCCCC';
   mm_menu_0526141428_1.menuBorderBgColor=3D'#ffffff';
   mm_menu_0526141428_1.bgColor=3D'#CCCCCC';
  window.mm_menu_0526142449_2 =3D new Menu("root",175,30,"Arial, =
Helvetica, =
sans-serif",11,"#000000","#FF0000","#f6f6f6","#f6f6f6","left","middle",4,=
0,1000,-5,7,true,true,true,1,true,false);
mm_menu_0526142449_2.addMenuItem("Discussion Forums =
Index","location=3D'http://forums.oracle.com/forums/categoryHome.jspa?cat=
egoryID=3D84'");
  mm_menu_0526142449_2.addMenuItem("Technology Network =
Community","location=3D'http://forums.oracle.com/forums/category.jspa?cat=
egoryID=3D48'");
  =
mm_menu_0526142449_2.addMenuItem("Database","location=3D'http://forums.or=
acle.com/forums/category.jspa?categoryID=3D18'");
  mm_menu_0526142449_2.addMenuItem("Fusion =
Middleware","location=3D'http://forums.oracle.com/forums/category.jspa?ca=
tegoryID=3D13'");
mm_menu_0526142449_2.addMenuItem("Developer =
Tools","location=3D'http://forums.oracle.com/forums/category.jspa?categor=
yID=3D19'");
mm_menu_0526142449_2.addMenuItem("Enterprise =
Manager","location=3D'http://forums.oracle.com/forums/category.jspa?categ=
oryID=3D70'");
mm_menu_0526142449_2.addMenuItem("EPM/Business =
Intelligence","location=3D'http://forums.oracle.com/forums/category.jspa?=
categoryID=3D16'");
mm_menu_0526142449_2.addMenuItem("Technologies","location=3D'http://forum=
s.oracle.com/forums/category.jspa?categoryID=3D10'");
mm_menu_0526142449_2.addMenuItem("More...","location=3D'http://forums.ora=
cle.com/forums/categoryHome.jspa?categoryID=3D84'");
   mm_menu_0526142449_2.hideOnMouseOut=3Dtrue;
   mm_menu_0526142449_2.menuBorder=3D1;
   mm_menu_0526142449_2.menuLiteBgColor=3D'#CCCCCC';
   mm_menu_0526142449_2.menuBorderBgColor=3D'#ffffff';
   mm_menu_0526142449_2.bgColor=3D'#CCCCCC';
  window.mm_menu_0526143126_3 =3D new Menu("root",115,30,"Arial, =
Helvetica, =
sans-serif",11,"#000000","#FF0000","#f6f6f6","#f6f6f6","left","middle",4,=
0,1000,-5,7,true,true,true,1,true,false);
  mm_menu_0526143126_3.addMenuItem("Articles =
Index","location=3D'/technology/pub/articles/index.html'");
  mm_menu_0526143126_3.addMenuItem("For =
Developers","location=3D'/technology/pub/articles/tech_dev.html'");
  mm_menu_0526143126_3.addMenuItem("For =
DBAs","location=3D'/technology/pub/articles/tech_dba.html'");
  mm_menu_0526143126_3.addMenuItem("Oracle Mag. =
Current","location=3D'/technology/oramag/oracle/current.html'");
  mm_menu_0526143126_3.addMenuItem("Oracle Mag. =
Archives","location=3D'/technology/oramag/oracle/index.html'");
  mm_menu_0526143126_3.addMenuItem("Oracle =
Publishing","location=3D'/oramag/index.html'");
   mm_menu_0526143126_3.hideOnMouseOut=3Dtrue;
   mm_menu_0526143126_3.menuBorder=3D1;
   mm_menu_0526143126_3.menuLiteBgColor=3D'#CCCCCC';
   mm_menu_0526143126_3.menuBorderBgColor=3D'#ffffff';
   mm_menu_0526143126_3.bgColor=3D'#CCCCCC';
  window.mm_menu_0526145024_4 =3D new Menu("root",115,30,"Arial, =
Helvetica, =
sans-serif",11,"#000000","#FF0000","#f6f6f6","#f6f6f6","left","middle",4,=
0,1000,-5,7,true,true,true,1,false,false);
  mm_menu_0526145024_4.addMenuItem("Sample Code =
Index","location=3D'/technology/sample_code/index.html'");
  =
mm_menu_0526145024_4.addMenuItem("Ajax","location=3D'/technology/tech/jav=
a/ajax.html'");
  =
mm_menu_0526145024_4.addMenuItem("EJB","location=3D'/technology/tech/java=
/ejb30.html'");
  =
mm_menu_0526145024_4.addMenuItem("J2EE","location=3D'/technology/sample_c=
ode/tech/java/j2ee/index.html'");
  mm_menu_0526145024_4.addMenuItem("JavaServer =
Faces","location=3D'/technology/tech/java/jsf.html'");
  =
mm_menu_0526145024_4.addMenuItem("JDBC","location=3D'/technology/sample_c=
ode/tech/java/sqlj_jdbc/index.html'");
  =
mm_menu_0526145024_4.addMenuItem("PL/SQL","location=3D'/technology/sample=
_code/tech/pl_sql/index.html'");
  =
mm_menu_0526145024_4.addMenuItem("More...","location=3D'/technology/sampl=
e_code/index.html'");
   mm_menu_0526145024_4.hideOnMouseOut=3Dtrue;
   mm_menu_0526145024_4.menuBorder=3D1;
   mm_menu_0526145024_4.menuLiteBgColor=3D'#CCCCCC';
   mm_menu_0526145024_4.menuBorderBgColor=3D'#ffffff';
   mm_menu_0526145024_4.bgColor=3D'#CCCCCC';
  window.mm_menu_0526145207_5 =3D new Menu("root",130,30,"Arial, =
Helvetica, =
sans-serif",11,"#000000","#FF0000","#f6f6f6","#f6f6f6","left","middle",4,=
0,1000,-5,7,true,true,true,1,true,false);
mm_menu_0526145207_5.addMenuItem("Getting Started =
Index","location=3D'/technology/getting-started/index.html'");
    mm_menu_0526145207_5.addMenuItem("New OTN =
Users","location=3D'/technology/about/index.html'");
  =
mm_menu_0526145207_5.addMenuItem("Developers","location=3D'/technology/de=
veloper/index.html'");
mm_menu_0526145207_5.addMenuItem("DBAs","location=3D'/technology/dba/inde=
x.html'");
mm_menu_0526145207_5.addMenuItem("ISVs","location=3D'/technology/isv/inde=
x.html'");
mm_menu_0526145207_5.addMenuItem("More...","location=3D'/technology/getti=
ng-started/index.html'");
 mm_menu_0526145207_5.hideOnMouseOut=3Dtrue;
   mm_menu_0526145207_5.menuBorder=3D1;
   mm_menu_0526145207_5.menuLiteBgColor=3D'#CCCCCC';
   mm_menu_0526145207_5.menuBorderBgColor=3D'#ffffff';
   mm_menu_0526145207_5.bgColor=3D'#CCCCCC';
  window.mm_menu_0526151414_6 =3D new Menu("root",135,30,"Arial, =
Helvetica, =
sans-serif",11,"#000000","#FF0000","#f6f6f6","#f6f6f6","left","middle",4,=
0,1000,-5,7,true,true,true,1,true,false);
  mm_menu_0526151414_6.addMenuItem("Tutorials =
Index","location=3D'/technology/obe/start/index.html'");
  =
mm_menu_0526151414_6.addMenuItem("Database","location=3D'/technology/obe/=
11gr1_db/index.htm'");
  mm_menu_0526151414_6.addMenuItem("Real Application =
Clusters","location=3D'/technology/obe/admin/db10gr2.html'");
  mm_menu_0526151414_6.addMenuItem("Application =
Server","location=3D'/technology/obe/obe_as_1012/index.html'");
  mm_menu_0526151414_6.addMenuItem("Enterprise =
Manager","location=3D'/technology/obe/start/em.html'");
  =
mm_menu_0526151414_6.addMenuItem("JDeveloper","location=3D'/technology/ob=
e/obe1013jdev/index.htm'");
  mm_menu_0526151414_6.addMenuItem("Business =
Intelligence","location=3D'/technology/obe/obe_bi/bi.html'");
  mm_menu_0526151414_6.addMenuItem("Collaboration =
Suite","location=3D'/technology/obe/obeocs_1012/admin/install/index.html'=
");
  =
mm_menu_0526151414_6.addMenuItem("More...","location=3D'/technology/obe/s=
tart/index.html'");
   mm_menu_0526151414_6.hideOnMouseOut=3Dtrue;
   mm_menu_0526151414_6.menuBorder=3D1;
   mm_menu_0526151414_6.menuLiteBgColor=3D'#CCCCCC';
   mm_menu_0526151414_6.menuBorderBgColor=3D'#ffffff';
   mm_menu_0526151414_6.bgColor=3D'#CCCCCC';
   window.mm_menu_0526151414_7 =3D new Menu("root",142,30,"Arial, =
Helvetica, =
sans-serif",11,"#000000","#FF0000","#f6f6f6","#f6f6f6","left","middle",4,=
0,1000,-5,7,true,true,true,1,true,false);
mm_menu_0526151414_7.addMenuItem("blogs.oracle.com","location=3D'http://b=
logs.oracle.com'");
  mm_menu_0526151414_7.addMenuItem("Oracle's OTN =
TechBlog","location=3D'http://blogs.oracle.com/otn/'");
  =
mm_menu_0526151414_7.addMenuItem("Podcasts","location=3D'/technology/synd=
ication/podcasts/index.html'");
   mm_menu_0526151414_7.hideOnMouseOut=3Dtrue;
   mm_menu_0526151414_7.menuBorder=3D1;
   mm_menu_0526151414_7.menuLiteBgColor=3D'#CCCCCC';
   mm_menu_0526151414_7.menuBorderBgColor=3D'#ffffff';
   mm_menu_0526151414_7.bgColor=3D'#CCCCCC';

  mm_menu_0526151414_7.writeMenus();
} // mmLoadMenus()

function MM_swapImgRestore() { //v3.0
  var i,x,a=3Ddocument.MM_sr; =
for(i=3D0;a&&i<a.length&&(x=3Da[i])&&x.oSrc;i++) x.src=3Dx.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=3Ddocument; if(d.images){ if(!d.MM_p) d.MM_p=3Dnew Array();
    var i,j=3Dd.MM_p.length,a=3DMM_preloadImages.arguments; for(i=3D0; =
i<a.length; i++)
    if (a[i].indexOf("#")!=3D0){ d.MM_p[j]=3Dnew Image; =
d.MM_p[j++].src=3Da[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=3Ddocument; =
if((p=3Dn.indexOf("?"))>0&&parent.frames.length) {
    d=3Dparent.frames[n.substring(p+1)].document; n=3Dn.substring(0,p);}
  if(!(x=3Dd[n])&&d.all) x=3Dd.all[n]; for =
(i=3D0;!x&&i<d.forms.length;i++) x=3Dd.forms[i][n];
  for(i=3D0;!x&&d.layers&&i<d.layers.length;i++) =
x=3DMM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=3Dd.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=3D0,x,a=3DMM_swapImage.arguments; document.MM_sr=3Dnew Array; =
for(i=3D0;i<(a.length-2);i+=3D3)
   if ((x=3DMM_findObj(a[i]))!=3Dnull){document.MM_sr[j++]=3Dx; =
if(!x.oSrc) x.oSrc=3Dx.src; x.src=3Da[i+2];}
}
------=_NextPart_000_0000_01C8B1D2.79EF3EF0
Content-Type: application/x-js
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.oracle.com/admin/jscripts/mm_menu.js

/**
 * mm_menu 20MAR2002 Version 6.0
 * Andy Finnell, March 2002
 * Copyright (c) 2000-2002 Macromedia, Inc.
 *
 * based on menu.js
 * by gary smith, July 1997
 * Copyright (c) 1997-1999 Netscape Communications Corp.
 *
 * Netscape grants you a royalty free license to use or modify this
 * software provided that this copyright notice appears on all copies.
 * This software is provided "AS IS," without a warranty of any kind.
 */
function Menu(label, mw, mh, fnt, fs, fclr, fhclr, bg, bgh, halgn, =
valgn, pad, space, to, sx, sy, srel, opq, vert, idt, aw, ah)=20
{
	this.version =3D "020320 [Menu; mm_menu.js]";
	this.type =3D "Menu";
	this.menuWidth =3D mw;
	this.menuItemHeight =3D mh;
	this.fontSize =3D fs;
	this.fontWeight =3D "plain";
	this.fontFamily =3D fnt;
	this.fontColor =3D fclr;
	this.fontColorHilite =3D fhclr;
	this.bgColor =3D "#555555";
	this.menuBorder =3D 1;
	this.menuBgOpaque=3Dopq;
	this.menuItemBorder =3D 1;
	this.menuItemIndent =3D idt;
	this.menuItemBgColor =3D bg;
	this.menuItemVAlign =3D valgn;
	this.menuItemHAlign =3D halgn;
	this.menuItemPadding =3D pad;
	this.menuItemSpacing =3D space;
	this.menuLiteBgColor =3D "#ffffff";
	this.menuBorderBgColor =3D "#777777";
	this.menuHiliteBgColor =3D bgh;
	this.menuContainerBgColor =3D "#cccccc";
	this.childMenuIcon =3D "arrows.gif";
	this.submenuXOffset =3D sx;
	this.submenuYOffset =3D sy;
	this.submenuRelativeToItem =3D srel;
	this.vertical =3D vert;
	this.items =3D new Array();
	this.actions =3D new Array();
	this.childMenus =3D new Array();
	this.hideOnMouseOut =3D true;
	this.hideTimeout =3D to;
	this.addMenuItem =3D addMenuItem;
	this.writeMenus =3D writeMenus;
	this.MM_showMenu =3D MM_showMenu;
	this.onMenuItemOver =3D onMenuItemOver;
	this.onMenuItemAction =3D onMenuItemAction;
	this.hideMenu =3D hideMenu;
	this.hideChildMenu =3D hideChildMenu;
	if (!window.menus) window.menus =3D new Array();
	this.label =3D " " + label;
	window.menus[this.label] =3D this;
	window.menus[window.menus.length] =3D this;
	if (!window.activeMenus) window.activeMenus =3D new Array();
}

function addMenuItem(label, action) {
	this.items[this.items.length] =3D label;
	this.actions[this.actions.length] =3D action;
}

function FIND(item) {
	if( window.mmIsOpera ) return(document.getElementById(item));
	if (document.all) return(document.all[item]);
	if (document.getElementById) return(document.getElementById(item));
	return(false);
}

function writeMenus(container) {
	if (window.triedToWriteMenus) return;
	var agt =3D navigator.userAgent.toLowerCase();
	window.mmIsOpera =3D agt.indexOf("opera") !=3D -1;
	if (!container && document.layers) {
		window.delayWriteMenus =3D this.writeMenus;
		var timer =3D setTimeout('delayWriteMenus()', 500);
		container =3D new Layer(100);
		clearTimeout(timer);
	} else if (document.all || document.hasChildNodes || window.mmIsOpera) =
{
		document.writeln('<span id=3D"menuContainer"></span>');
		container =3D FIND("menuContainer");
	}

	window.mmHideMenuTimer =3D null;
	if (!container) return;=09
	window.triedToWriteMenus =3D true;=20
	container.isContainer =3D true;
	container.menus =3D new Array();
	for (var i=3D0; i<window.menus.length; i++)=20
		container.menus[i] =3D window.menus[i];
	window.menus.length =3D 0;
	var countMenus =3D 0;
	var countItems =3D 0;
	var top =3D 0;
	var content =3D '';
	var lrs =3D false;
	var theStat =3D "";
	var tsc =3D 0;
	if (document.layers) lrs =3D true;
	for (var i=3D0; i<container.menus.length; i++, countMenus++) {
		var menu =3D container.menus[i];
		if (menu.bgImageUp || !menu.menuBgOpaque) {
			menu.menuBorder =3D 0;
			menu.menuItemBorder =3D 0;
		}
		if (lrs) {
			var menuLayer =3D new Layer(100, container);
			var lite =3D new Layer(100, menuLayer);
			lite.top =3D menu.menuBorder;
			lite.left =3D menu.menuBorder;
			var body =3D new Layer(100, lite);
			body.top =3D menu.menuBorder;
			body.left =3D menu.menuBorder;
		} else {
			content +=3D ''+
			'<div id=3D"menuLayer'+ countMenus +'" =
style=3D"position:absolute;z-index:1;left:10px;top:'+ (i * 100) =
+'px;visibility:hidden;color:' +  menu.menuBorderBgColor + ';">\n'+
			'  <div id=3D"menuLite'+ countMenus +'" =
style=3D"position:absolute;z-index:1;left:'+ menu.menuBorder +'px;top:'+ =
menu.menuBorder +'px;visibility:hide;" =
onmouseout=3D"mouseoutMenu();">\n'+
			'	 <div id=3D"menuFg'+ countMenus +'" =
style=3D"position:absolute;left:'+ menu.menuBorder +'px;top:'+ =
menu.menuBorder +'px;visibility:hide;">\n'+
			'';
		}
		var x=3Di;
		for (var i=3D0; i<menu.items.length; i++) {
			var item =3D menu.items[i];
			var childMenu =3D false;
			var defaultHeight =3D menu.fontSize+2*menu.menuItemPadding;
			if (item.label) {
				item =3D item.label;
				childMenu =3D true;
			}
			menu.menuItemHeight =3D menu.menuItemHeight || defaultHeight;
			var itemProps =3D '';
			if( menu.fontFamily !=3D '' ) itemProps +=3D 'font-family:' + =
menu.fontFamily +';';
			itemProps +=3D 'font-weight:' + menu.fontWeight + ';fontSize:' + =
menu.fontSize + 'px;';
			if (menu.fontStyle) itemProps +=3D 'font-style:' + menu.fontStyle + =
';';
			if (document.all || window.mmIsOpera)=20
				itemProps +=3D 'font-size:' + menu.fontSize + 'px;" =
onmouseover=3D"onMenuItemOver(null,this);" =
onclick=3D"onMenuItemAction(null,this);';
			else if (!document.layers) {
				itemProps +=3D 'font-size:' + menu.fontSize + 'px;';
			}
			var l;
			if (lrs) {
				var lw =3D menu.menuWidth;
				if( menu.menuItemHAlign =3D=3D 'right' ) lw -=3D =
menu.menuItemPadding;
				l =3D new Layer(lw,body);
			}
			var itemLeft =3D 0;
			var itemTop =3D i*menu.menuItemHeight;
			if( !menu.vertical ) {
				itemLeft =3D i*menu.menuWidth;
				itemTop =3D 0;
			}
			var dTag =3D '<div id=3D"menuItem'+ countItems +'" =
style=3D"position:absolute;left:' + itemLeft + 'px;top:'+ itemTop =
+'px;'+ itemProps +'">';
			var dClose =3D '</div>'
			if (menu.bgImageUp) dTag =3D '<div id=3D"menuItem'+ countItems +'" =
style=3D"background:url('+menu.bgImageUp+');position:absolute;left:' + =
itemLeft + 'px;top:'+ itemTop +'px;'+ itemProps +'">';

			var left =3D 0, top =3D 0, right =3D 0, bottom =3D 0;
			left =3D 1 + menu.menuItemPadding + menu.menuItemIndent;
			right =3D left + menu.menuWidth - 2*menu.menuItemPadding - =
menu.menuItemIndent;
			if( menu.menuItemVAlign =3D=3D 'top' ) top =3D menu.menuItemPadding;
			if( menu.menuItemVAlign =3D=3D 'bottom' ) top =3D =
menu.menuItemHeight-menu.fontSize-1-menu.menuItemPadding;
			if( menu.menuItemVAlign =3D=3D 'middle' ) top =3D =
((menu.menuItemHeight/2)-(menu.fontSize/2)-1);
			bottom =3D menu.menuItemHeight - 2*menu.menuItemPadding;
			var textProps =3D 'position:absolute;left:' + left + 'px;top:' + top =
+ 'px;';
			if (lrs) {
				textProps +=3DitemProps + 'right:' + right + ';bottom:' + bottom + =
';';
				dTag =3D "";
				dClose =3D "";
			}
		=09
			if(document.all && !window.mmIsOpera) {
				item =3D '<div align=3D"' + menu.menuItemHAlign + '">' + item + =
'</div>';
			} else if (lrs) {
				item =3D '<div style=3D"text-align:' + menu.menuItemHAlign + ';">' + =
item + '</div>';
			} else {
				var hitem =3D null;
				if( menu.menuItemHAlign !=3D 'left' ) {
					if(window.mmIsOpera) {
						var operaWidth =3D menu.menuItemHAlign =3D=3D 'center' ? =
-(menu.menuWidth-2*menu.menuItemPadding) : =
(menu.menuWidth-6*menu.menuItemPadding);
						hitem =3D '<div id=3D"menuItemHilite' + countItems + 'Shim" =
style=3D"position:absolute;top:1px;left:' + menu.menuItemPadding + =
'px;width:' + operaWidth + 'px;text-align:'=20
							+ menu.menuItemHAlign + ';visibility:visible;">' + item + =
'</div>';
						item =3D '<div id=3D"menuItemText' + countItems + 'Shim" =
style=3D"position:absolute;top:1px;left:' + menu.menuItemPadding + =
'px;width:' + operaWidth + 'px;text-align:'=20
							+ menu.menuItemHAlign + ';visibility:visible;">' + item + =
'</div>';
					} else {
						hitem =3D '<div id=3D"menuItemHilite' + countItems + 'Shim" =
style=3D"position:absolute;top:1px;left:1px;right:-' + =
(left+menu.menuWidth-3*menu.menuItemPadding) + 'px;text-align:'=20
							+ menu.menuItemHAlign + ';visibility:visible;">' + item + =
'</div>';
						item =3D '<div id=3D"menuItemText' + countItems + 'Shim" =
style=3D"position:absolute;top:1px;left:1px;right:-' + =
(left+menu.menuWidth-3*menu.menuItemPadding) + 'px;text-align:'=20
							+ menu.menuItemHAlign + ';visibility:visible;">' + item + =
'</div>';
					}
				} else hitem =3D null;
			}
			if(document.all && !window.mmIsOpera) item =3D '<div =
id=3D"menuItemShim' + countItems + '" =
style=3D"position:absolute;left:0px;top:0px;">' + item + '</div>';
			var dText	=3D '<div id=3D"menuItemText'+ countItems +'" style=3D"' + =
textProps + 'color:'+ menu.fontColor +';">'+ item +'&nbsp</div>\n'
						+ '<div id=3D"menuItemHilite'+ countItems +'" style=3D"' + =
textProps + 'color:'+ menu.fontColorHilite +';visibility:hidden;">'=20
						+ (hitem||item) +'&nbsp</div>';
			if (childMenu) content +=3D ( dTag + dText + '<div id=3D"childMenu'+ =
countItems +'" style=3D"position:absolute;left:0px;top:3px;"><img =
src=3D"'+ menu.childMenuIcon +'"></div>\n' + dClose);
			else content +=3D ( dTag + dText + dClose);
			if (lrs) {
				l.document.open("text/html");
				l.document.writeln(content);
				l.document.close();=09
				content =3D '';
				theStat +=3D "-";
				tsc++;
				if (tsc > 50) {
					tsc =3D 0;
					theStat =3D "";
				}
				status =3D theStat;
			}
			countItems++; =20
		}
		if (lrs) {
			var focusItem =3D new Layer(100, body);
			focusItem.visiblity=3D"hidden";
			focusItem.document.open("text/html");
			focusItem.document.writeln("&nbsp;");
			focusItem.document.close();=09
		} else {
		  content +=3D '	  <div id=3D"focusItem'+ countMenus +'" =
style=3D"position:absolute;left:0px;top:0px;visibility:hide;" =
onclick=3D"onMenuItemAction(null,this);">&nbsp;</div>\n';
		  content +=3D '   </div>\n  </div>\n</div>\n';
		}
		i=3Dx;
	}
	if (document.layers) {	=09
		container.clip.width =3D window.innerWidth;
		container.clip.height =3D window.innerHeight;
		container.onmouseout =3D mouseoutMenu;
		container.menuContainerBgColor =3D this.menuContainerBgColor;
		for (var i=3D0; i<container.document.layers.length; i++) {
			proto =3D container.menus[i];
			var menu =3D container.document.layers[i];
			container.menus[i].menuLayer =3D menu;
			container.menus[i].menuLayer.Menu =3D container.menus[i];
			container.menus[i].menuLayer.Menu.container =3D container;
			var body =3D menu.document.layers[0].document.layers[0];
			body.clip.width =3D proto.menuWidth || body.clip.width;
			body.clip.height =3D proto.menuHeight || body.clip.height;
			for (var n=3D0; n<body.document.layers.length-1; n++) {
				var l =3D body.document.layers[n];
				l.Menu =3D container.menus[i];
				l.menuHiliteBgColor =3D proto.menuHiliteBgColor;
				l.document.bgColor =3D proto.menuItemBgColor;
				l.saveColor =3D proto.menuItemBgColor;
				l.onmouseover =3D proto.onMenuItemOver;
				l.onclick =3D proto.onMenuItemAction;
				l.mmaction =3D container.menus[i].actions[n];
				l.focusItem =3D body.document.layers[body.document.layers.length-1];
				l.clip.width =3D proto.menuWidth || body.clip.width;
				l.clip.height =3D proto.menuItemHeight || l.clip.height;
				if (n>0) {
					if( l.Menu.vertical ) l.top =3D body.document.layers[n-1].top + =
body.document.layers[n-1].clip.height + proto.menuItemBorder + =
proto.menuItemSpacing;
					else l.left =3D body.document.layers[n-1].left + =
body.document.layers[n-1].clip.width + proto.menuItemBorder + =
proto.menuItemSpacing;
				}
				l.hilite =3D l.document.layers[1];
				if (proto.bgImageUp) l.background.src =3D proto.bgImageUp;
				l.document.layers[1].isHilite =3D true;
				if (l.document.layers.length > 2) {
					l.childMenu =3D container.menus[i].items[n].menuLayer;
					l.document.layers[2].left =3D l.clip.width -13;
					l.document.layers[2].top =3D (l.clip.height / 2) -4;
					l.document.layers[2].clip.left +=3D 3;
					l.Menu.childMenus[l.Menu.childMenus.length] =3D l.childMenu;
				}
			}
			if( proto.menuBgOpaque ) body.document.bgColor =3D proto.bgColor;
			if( proto.vertical ) {
				body.clip.width  =3D l.clip.width +proto.menuBorder;
				body.clip.height =3D l.top + l.clip.height +proto.menuBorder;
			} else {
				body.clip.height  =3D l.clip.height +proto.menuBorder;
				body.clip.width =3D l.left + l.clip.width  +proto.menuBorder;
				if( body.clip.width > window.innerWidth ) body.clip.width =3D =
window.innerWidth;
			}
			var focusItem =3D body.document.layers[n];
			focusItem.clip.width =3D body.clip.width;
			focusItem.Menu =3D l.Menu;
			focusItem.top =3D -30;
            focusItem.captureEvents(Event.MOUSEDOWN);
            focusItem.onmousedown =3D onMenuItemDown;
			if( proto.menuBgOpaque ) menu.document.bgColor =3D =
proto.menuBorderBgColor;
			var lite =3D menu.document.layers[0];
			if( proto.menuBgOpaque ) lite.document.bgColor =3D =
proto.menuLiteBgColor;
			lite.clip.width =3D body.clip.width +1;
			lite.clip.height =3D body.clip.height +1;
			menu.clip.width =3D body.clip.width + (proto.menuBorder * 3) ;
			menu.clip.height =3D body.clip.height + (proto.menuBorder * 3);
		}
	} else {
		if ((!document.all) && (container.hasChildNodes) && !window.mmIsOpera) =
{
			container.innerHTML=3Dcontent;
		} else {
			container.document.open("text/html");
			container.document.writeln(content);
			container.document.close();=09
		}
		if (!FIND("menuLayer0")) return;
		var menuCount =3D 0;
		for (var x=3D0; x<container.menus.length; x++) {
			var menuLayer =3D FIND("menuLayer" + x);
			container.menus[x].menuLayer =3D "menuLayer" + x;
			menuLayer.Menu =3D container.menus[x];
			menuLayer.Menu.container =3D "menuLayer" + x;
			menuLayer.style.zindex =3D 1;
		    var s =3D menuLayer.style;
			s.pixeltop =3D -300;
			s.pixelleft =3D -300;
			s.top =3D '-300px';
			s.left =3D '-300px';

			var menu =3D container.menus[x];
			menu.menuItemWidth =3D menu.menuWidth || menu.menuIEWidth || 140;
			if( menu.menuBgOpaque ) menuLayer.style.backgroundColor =3D =
menu.menuBorderBgColor;
			var top =3D 0;
			var left =3D 0;
			menu.menuItemLayers =3D new Array();
			for (var i=3D0; i<container.menus[x].items.length; i++) {
				var l =3D FIND("menuItem" + menuCount);
				l.Menu =3D container.menus[x];
				l.Menu.menuItemLayers[l.Menu.menuItemLayers.length] =3D l;
				if (l.addEventListener || window.mmIsOpera) {
					l.style.width =3D menu.menuItemWidth + 'px';
					l.style.height =3D menu.menuItemHeight + 'px';
					l.style.pixelWidth =3D menu.menuItemWidth;
					l.style.pixelHeight =3D menu.menuItemHeight;
					l.style.top =3D top + 'px';
					l.style.left =3D left + 'px';
					if(l.addEventListener) {
						l.addEventListener("mouseover", onMenuItemOver, false);
						l.addEventListener("click", onMenuItemAction, false);
						l.addEventListener("mouseout", mouseoutMenu, false);
					}
					if( menu.menuItemHAlign !=3D 'left' ) {
						l.hiliteShim =3D FIND("menuItemHilite" + menuCount + "Shim");
						l.hiliteShim.style.visibility =3D "inherit";
						l.textShim =3D FIND("menuItemText" + menuCount + "Shim");
						l.hiliteShim.style.pixelWidth =3D menu.menuItemWidth - =
2*menu.menuItemPadding - menu.menuItemIndent;
						l.hiliteShim.style.width =3D l.hiliteShim.style.pixelWidth;
						l.textShim.style.pixelWidth =3D menu.menuItemWidth - =
2*menu.menuItemPadding - menu.menuItemIndent;
						l.textShim.style.width =3D l.textShim.style.pixelWidth;=09
					}
				} else {
					l.style.pixelWidth =3D menu.menuItemWidth;
					l.style.pixelHeight =3D menu.menuItemHeight;
					l.style.pixelTop =3D top;
					l.style.pixelLeft =3D left;
					if( menu.menuItemHAlign !=3D 'left' ) {
						var shim =3D FIND("menuItemShim" + menuCount);
						shim[0].style.pixelWidth =3D menu.menuItemWidth - =
2*menu.menuItemPadding - menu.menuItemIndent;
						shim[1].style.pixelWidth =3D menu.menuItemWidth - =
2*menu.menuItemPadding - menu.menuItemIndent;
						shim[0].style.width =3D shim[0].style.pixelWidth + 'px';
						shim[1].style.width =3D shim[1].style.pixelWidth + 'px';
					}
				}
				if( menu.vertical ) top =3D top + =
menu.menuItemHeight+menu.menuItemBorder+menu.menuItemSpacing;
				else left =3D left + =
menu.menuItemWidth+menu.menuItemBorder+menu.menuItemSpacing;
				l.style.fontSize =3D menu.fontSize + 'px';
				l.style.backgroundColor =3D menu.menuItemBgColor;
				l.style.visibility =3D "inherit";
				l.saveColor =3D menu.menuItemBgColor;
				l.menuHiliteBgColor =3D menu.menuHiliteBgColor;
				l.mmaction =3D container.menus[x].actions[i];
				l.hilite =3D FIND("menuItemHilite" + menuCount);
				l.focusItem =3D FIND("focusItem" + x);
				l.focusItem.style.pixelTop =3D -30;
				l.focusItem.style.top =3D '-30px';
				var childItem =3D FIND("childMenu" + menuCount);
				if (childItem) {
					l.childMenu =3D container.menus[x].items[i].menuLayer;
					childItem.style.pixelLeft =3D menu.menuItemWidth -11;
					childItem.style.left =3D childItem.style.pixelLeft + 'px';
					childItem.style.pixelTop =3D (menu.menuItemHeight /2) -4;
					childItem.style.top =3D childItem.style.pixelTop + 'px';
					l.Menu.childMenus[l.Menu.childMenus.length] =3D l.childMenu;
				}
				l.style.cursor =3D "hand";
				menuCount++;
			}
			if( menu.vertical ) {
				menu.menuHeight =3D top-1-menu.menuItemSpacing;
				menu.menuWidth =3D menu.menuItemWidth;
			} else {
				menu.menuHeight =3D menu.menuItemHeight;
				menu.menuWidth =3D left-1-menu.menuItemSpacing;
			}

			var lite =3D FIND("menuLite" + x);
			var s =3D lite.style;
			s.pixelHeight =3D menu.menuHeight +(menu.menuBorder * 2);
			s.height =3D s.pixelHeight + 'px';
			s.pixelWidth =3D menu.menuWidth + (menu.menuBorder * 2);
			s.width =3D s.pixelWidth + 'px';
			if( menu.menuBgOpaque ) s.backgroundColor =3D menu.menuLiteBgColor;

			var body =3D FIND("menuFg" + x);
			s =3D body.style;
			s.pixelHeight =3D menu.menuHeight + menu.menuBorder;
			s.height =3D s.pixelHeight + 'px';
			s.pixelWidth =3D menu.menuWidth + menu.menuBorder;
			s.width =3D s.pixelWidth + 'px';
			if( menu.menuBgOpaque ) s.backgroundColor =3D menu.bgColor;

			s =3D menuLayer.style;
			s.pixelWidth  =3D menu.menuWidth + (menu.menuBorder * 4);
			s.width =3D s.pixelWidth + 'px';
			s.pixelHeight  =3D menu.menuHeight+(menu.menuBorder*4);
			s.height =3D s.pixelHeight + 'px';
		}
	}
	if (document.captureEvents) document.captureEvents(Event.MOUSEUP);
	if (document.addEventListener) document.addEventListener("mouseup", =
onMenuItemOver, false);
	if (document.layers && window.innerWidth) {
		window.onresize =3D NS4resize;
		window.NS4sIW =3D window.innerWidth;
		window.NS4sIH =3D window.innerHeight;
		setTimeout("NS4resize()",500);
	}
	document.onmouseup =3D mouseupMenu;
	window.mmWroteMenu =3D true;
	status =3D "";
}

function NS4resize() {
	if (NS4sIW !=3D window.innerWidth || NS4sIH !=3D window.innerHeight) =
window.location.reload();
}

function onMenuItemOver(e, l) {
	MM_clearTimeout();
	l =3D l || this;
	a =3D window.ActiveMenuItem;
	if (document.layers) {
		if (a) {
			a.document.bgColor =3D a.saveColor;
			if (a.hilite) a.hilite.visibility =3D "hidden";
			if (a.Menu.bgImageOver) a.background.src =3D a.Menu.bgImageUp;
			a.focusItem.top =3D -100;
			a.clicked =3D false;
		}
		if (l.hilite) {
			l.document.bgColor =3D l.menuHiliteBgColor;
			l.zIndex =3D 1;
			l.hilite.visibility =3D "inherit";
			l.hilite.zIndex =3D 2;
			l.document.layers[1].zIndex =3D 1;
			l.focusItem.zIndex =3D this.zIndex +2;
		}
		if (l.Menu.bgImageOver) l.background.src =3D l.Menu.bgImageOver;
		l.focusItem.top =3D this.top;
		l.focusItem.left =3D this.left;
		l.focusItem.clip.width =3D l.clip.width;
		l.focusItem.clip.height =3D l.clip.height;
		l.Menu.hideChildMenu(l);
	} else if (l.style && l.Menu) {
		if (a) {
			a.style.backgroundColor =3D a.saveColor;
			if (a.hilite) a.hilite.style.visibility =3D "hidden";
			if (a.hiliteShim) a.hiliteShim.style.visibility =3D "inherit";
			if (a.Menu.bgImageUp) a.style.background =3D "url(" + =
a.Menu.bgImageUp +")";;
		}=20
		l.style.backgroundColor =3D l.menuHiliteBgColor;
		l.zIndex =3D 1;
		if (l.Menu.bgImageOver) l.style.background =3D "url(" + =
l.Menu.bgImageOver +")";
		if (l.hilite) {
			l.hilite.style.visibility =3D "inherit";
			if( l.hiliteShim ) l.hiliteShim.style.visibility =3D "visible";
		}
		l.focusItem.style.pixelTop =3D l.style.pixelTop;
		l.focusItem.style.top =3D l.focusItem.style.pixelTop + 'px';
		l.focusItem.style.pixelLeft =3D l.style.pixelLeft;
		l.focusItem.style.left =3D l.focusItem.style.pixelLeft + 'px';
		l.focusItem.style.zIndex =3D l.zIndex +1;
		l.Menu.hideChildMenu(l);
	} else return;
	window.ActiveMenuItem =3D l;
}

function onMenuItemAction(e, l) {
	l =3D window.ActiveMenuItem;
	if (!l) return;
	hideActiveMenus();
	if (l.mmaction) eval("" + l.mmaction);
	window.ActiveMenuItem =3D 0;
}

function MM_clearTimeout() {
	if (mmHideMenuTimer) clearTimeout(mmHideMenuTimer);
	mmHideMenuTimer =3D null;
	mmDHFlag =3D false;
}

function MM_startTimeout() {
	if( window.ActiveMenu ) {
		mmStart =3D new Date();
		mmDHFlag =3D true;
		mmHideMenuTimer =3D setTimeout("mmDoHide()", =
window.ActiveMenu.Menu.hideTimeout);
	}
}

function mmDoHide() {
	if (!mmDHFlag || !window.ActiveMenu) return;
	var elapsed =3D new Date() - mmStart;
	var timeout =3D window.ActiveMenu.Menu.hideTimeout;
	if (elapsed < timeout) {
		mmHideMenuTimer =3D setTimeout("mmDoHide()", timeout+100-elapsed);
		return;
	}
	mmDHFlag =3D false;
	hideActiveMenus();
	window.ActiveMenuItem =3D 0;
}

function MM_showMenu(menu, x, y, child, imgname) {
	if (!window.mmWroteMenu) return;
	MM_clearTimeout();
	if (menu) {
		var obj =3D FIND(imgname) || document.images[imgname] || =
document.links[imgname] || document.anchors[imgname];
		x =3D moveXbySlicePos (x, obj);
		y =3D moveYbySlicePos (y, obj);
	}
	if (document.layers) {
		if (menu) {
			var l =3D menu.menuLayer || menu;
			l.top =3D l.left =3D 1;
			hideActiveMenus();
			if (this.visibility) l =3D this;
			window.ActiveMenu =3D l;
		} else {
			var l =3D child;
		}
		if (!l) return;
		for (var i=3D0; i<l.layers.length; i++) { 			  =20
			if (!l.layers[i].isHilite) l.layers[i].visibility =3D "inherit";
			if (l.layers[i].document.layers.length > 0) MM_showMenu(null, =
"relative", "relative", l.layers[i]);
		}
		if (l.parentLayer) {
			if (x !=3D "relative") l.parentLayer.left =3D x || window.pageX || 0;
			if (l.parentLayer.left + l.clip.width > window.innerWidth) =
l.parentLayer.left -=3D (l.parentLayer.left + l.clip.width - =
window.innerWidth);
			if (y !=3D "relative") l.parentLayer.top =3D y || window.pageY || 0;
			if (l.parentLayer.isContainer) {
				l.Menu.xOffset =3D window.pageXOffset;
				l.Menu.yOffset =3D window.pageYOffset;
				l.parentLayer.clip.width =3D window.ActiveMenu.clip.width +2;
				l.parentLayer.clip.height =3D window.ActiveMenu.clip.height +2;
				if (l.parentLayer.menuContainerBgColor && l.Menu.menuBgOpaque ) =
l.parentLayer.document.bgColor =3D l.parentLayer.menuContainerBgColor;
			}
		}
		l.visibility =3D "inherit";
		if (l.Menu) l.Menu.container.visibility =3D "inherit";
	} else if (FIND("menuItem0")) {
		var l =3D menu.menuLayer || menu;=09
		hideActiveMenus();
		if (typeof(l) =3D=3D "string") l =3D FIND(l);
		window.ActiveMenu =3D l;
		var s =3D l.style;
		s.visibility =3D "inherit";
		if (x !=3D "relative") {
			s.pixelLeft =3D x || (window.pageX + document.body.scrollLeft) || 0;
			s.left =3D s.pixelLeft + 'px';
		}
		if (y !=3D "relative") {
			s.pixelTop =3D y || (window.pageY + document.body.scrollTop) || 0;
			s.top =3D s.pixelTop + 'px';
		}
		l.Menu.xOffset =3D document.body.scrollLeft;
		l.Menu.yOffset =3D document.body.scrollTop;
	}
	if (menu) window.activeMenus[window.activeMenus.length] =3D l;
	MM_clearTimeout();
}

function onMenuItemDown(e, l) {
	var a =3D window.ActiveMenuItem;
	if (document.layers && a) {
		a.eX =3D e.pageX;
		a.eY =3D e.pageY;
		a.clicked =3D true;
    }
}

function mouseupMenu(e) {
	hideMenu(true, e);
	hideActiveMenus();
	return true;
}

function getExplorerVersion() {
	var ieVers =3D parseFloat(navigator.appVersion);
	if( navigator.appName !=3D 'Microsoft Internet Explorer' ) return =
ieVers;
	var tempVers =3D navigator.appVersion;
	var i =3D tempVers.indexOf( 'MSIE ' );
	if( i >=3D 0 ) {
		tempVers =3D tempVers.substring( i+5 );
		ieVers =3D parseFloat( tempVers );=20
	}
	return ieVers;
}

function mouseoutMenu() {
	if ((navigator.appName =3D=3D "Microsoft Internet Explorer") && =
(getExplorerVersion() < 4.5))
		return true;
	hideMenu(false, false);
	return true;
}

function hideMenu(mouseup, e) {
	var a =3D window.ActiveMenuItem;
	if (a && document.layers) {
		a.document.bgColor =3D a.saveColor;
		a.focusItem.top =3D -30;
		if (a.hilite) a.hilite.visibility =3D "hidden";
		if (mouseup && a.mmaction && a.clicked && window.ActiveMenu) {
 			if (a.eX <=3D e.pageX+15 && a.eX >=3D e.pageX-15 && a.eY <=3D =
e.pageY+10 && a.eY >=3D e.pageY-10) {
				setTimeout('window.ActiveMenu.Menu.onMenuItemAction();', 500);
			}
		}
		a.clicked =3D false;
		if (a.Menu.bgImageOver) a.background.src =3D a.Menu.bgImageUp;
	} else if (window.ActiveMenu && FIND("menuItem0")) {
		if (a) {
			a.style.backgroundColor =3D a.saveColor;
			if (a.hilite) a.hilite.style.visibility =3D "hidden";
			if (a.hiliteShim) a.hiliteShim.style.visibility =3D "inherit";
			if (a.Menu.bgImageUp) a.style.background =3D "url(" + =
a.Menu.bgImageUp +")";
		}
	}
	if (!mouseup && window.ActiveMenu) {
		if (window.ActiveMenu.Menu) {
			if (window.ActiveMenu.Menu.hideOnMouseOut) MM_startTimeout();
			return(true);
		}
	}
	return(true);
}

function hideChildMenu(hcmLayer) {
	MM_clearTimeout();
	var l =3D hcmLayer;
	for (var i=3D0; i < l.Menu.childMenus.length; i++) {
		var theLayer =3D l.Menu.childMenus[i];
		if (document.layers) theLayer.visibility =3D "hidden";
		else {
			theLayer =3D FIND(theLayer);
			theLayer.style.visibility =3D "hidden";
			if( theLayer.Menu.menuItemHAlign !=3D 'left' ) {
				for(var j =3D 0; j < theLayer.Menu.menuItemLayers.length; j++) {
					var itemLayer =3D theLayer.Menu.menuItemLayers[j];
					if(itemLayer.textShim) itemLayer.textShim.style.visibility =3D =
"inherit";
				}
			}
		}
		theLayer.Menu.hideChildMenu(theLayer);
	}
	if (l.childMenu) {
		var childMenu =3D l.childMenu;
		if (document.layers) {
			l.Menu.MM_showMenu(null,null,null,childMenu.layers[0]);
			childMenu.zIndex =3D l.parentLayer.zIndex +1;
			childMenu.top =3D l.Menu.menuLayer.top + l.Menu.submenuYOffset;
			if( l.Menu.vertical ) {
				if( l.Menu.submenuRelativeToItem ) childMenu.top +=3D l.top + =
l.parentLayer.top;
				childMenu.left =3D l.parentLayer.left + l.parentLayer.clip.width - =
(2*l.Menu.menuBorder) + l.Menu.menuLayer.left + l.Menu.submenuXOffset;
			} else {
				childMenu.top +=3D l.top + l.parentLayer.top;=09
				if( l.Menu.submenuRelativeToItem ) childMenu.left =3D =
l.Menu.menuLayer.left + l.left + l.clip.width + (2*l.Menu.menuBorder) + =
l.Menu.submenuXOffset;
				else childMenu.left =3D l.parentLayer.left + =
l.parentLayer.clip.width - (2*l.Menu.menuBorder) + l.Menu.menuLayer.left =
+ l.Menu.submenuXOffset;
			}
			if( childMenu.left < l.Menu.container.clip.left ) =
l.Menu.container.clip.left =3D childMenu.left;
			var w =3D =
childMenu.clip.width+childMenu.left-l.Menu.container.clip.left;
			if (w > l.Menu.container.clip.width)  l.Menu.container.clip.width =3D =
w;
			var h =3D =
childMenu.clip.height+childMenu.top-l.Menu.container.clip.top;
			if (h > l.Menu.container.clip.height) l.Menu.container.clip.height =
=3D h;
			l.document.layers[1].zIndex =3D 0;
			childMenu.visibility =3D "inherit";
		} else if (FIND("menuItem0")) {
			childMenu =3D FIND(l.childMenu);
			var menuLayer =3D FIND(l.Menu.menuLayer);
			var s =3D childMenu.style;
			s.zIndex =3D menuLayer.style.zIndex+1;
			if (document.all || window.mmIsOpera) {
				s.pixelTop =3D menuLayer.style.pixelTop + l.Menu.submenuYOffset;
				if( l.Menu.vertical ) {
					if( l.Menu.submenuRelativeToItem ) s.pixelTop +=3D =
l.style.pixelTop;
					s.pixelLeft =3D l.style.pixelWidth + menuLayer.style.pixelLeft + =
l.Menu.submenuXOffset;
					s.left =3D s.pixelLeft + 'px';
				} else {
					s.pixelTop +=3D l.style.pixelTop;
					if( l.Menu.submenuRelativeToItem ) s.pixelLeft =3D =
menuLayer.style.pixelLeft + l.style.pixelLeft + l.style.pixelWidth + =
(2*l.Menu.menuBorder) + l.Menu.submenuXOffset;
					else s.pixelLeft =3D =
(menuLayer.style.pixelWidth-4*l.Menu.menuBorder) + =
menuLayer.style.pixelLeft + l.Menu.submenuXOffset;
					s.left =3D s.pixelLeft + 'px';
				}
			} else {
				var top =3D parseInt(menuLayer.style.top) + l.Menu.submenuYOffset;
				var left =3D 0;
				if( l.Menu.vertical ) {
					if( l.Menu.submenuRelativeToItem ) top +=3D parseInt(l.style.top);
					left =3D (parseInt(menuLayer.style.width)-4*l.Menu.menuBorder) + =
parseInt(menuLayer.style.left) + l.Menu.submenuXOffset;
				} else {
					top +=3D parseInt(l.style.top);
					if( l.Menu.submenuRelativeToItem ) left =3D =
parseInt(menuLayer.style.left) + parseInt(l.style.left) + =
parseInt(l.style.width) + (2*l.Menu.menuBorder) + l.Menu.submenuXOffset;
					else left =3D (parseInt(menuLayer.style.width)-4*l.Menu.menuBorder) =
+ parseInt(menuLayer.style.left) + l.Menu.submenuXOffset;
				}
				s.top =3D top + 'px';
				s.left =3D left + 'px';
			}
			childMenu.style.visibility =3D "inherit";
		} else return;
		window.activeMenus[window.activeMenus.length] =3D childMenu;
	}
}

function hideActiveMenus() {
	if (!window.activeMenus) return;
	for (var i=3D0; i < window.activeMenus.length; i++) {
		if (!activeMenus[i]) continue;
		if (activeMenus[i].visibility && activeMenus[i].Menu && =
!window.mmIsOpera) {
			activeMenus[i].visibility =3D "hidden";
			activeMenus[i].Menu.container.visibility =3D "hidden";
			activeMenus[i].Menu.container.clip.left =3D 0;
		} else if (activeMenus[i].style) {
			var s =3D activeMenus[i].style;
			s.visibility =3D "hidden";
			s.left =3D '-200px';
			s.top =3D '-200px';
		}
	}
	if (window.ActiveMenuItem) hideMenu(false, false);
	window.activeMenus.length =3D 0;
}

function moveXbySlicePos (x, img) {=20
	if (!document.layers) {
		var onWindows =3D navigator.platform ? navigator.platform =3D=3D =
"Win32" : false;
		var macIE45 =3D document.all && !onWindows && getExplorerVersion() =
=3D=3D 4.5;
		var par =3D img;
		var lastOffset =3D 0;
		while(par){
			if( par.leftMargin && ! onWindows ) x +=3D parseInt(par.leftMargin);
			if( (par.offsetLeft !=3D lastOffset) && par.offsetLeft ) x +=3D =
parseInt(par.offsetLeft);
			if( par.offsetLeft !=3D 0 ) lastOffset =3D par.offsetLeft;
			par =3D macIE45 ? par.parentElement : par.offsetParent;
		}
	} else if (img.x) x +=3D img.x;
	return x;
}

function moveYbySlicePos (y, img) {
	if(!document.layers) {
		var onWindows =3D navigator.platform ? navigator.platform =3D=3D =
"Win32" : false;
		var macIE45 =3D document.all && !onWindows && getExplorerVersion() =
=3D=3D 4.5;
		var par =3D img;
		var lastOffset =3D 0;
		while(par){
			if( par.topMargin && !onWindows ) y +=3D parseInt(par.topMargin);
			if( (par.offsetTop !=3D lastOffset) && par.offsetTop ) y +=3D =
parseInt(par.offsetTop);
			if( par.offsetTop !=3D 0 ) lastOffset =3D par.offsetTop;
			par =3D macIE45 ? par.parentElement : par.offsetParent;
		}	=09
	} else if (img.y >=3D 0) y +=3D img.y;
	return y;
}


------=_NextPart_000_0000_01C8B1D2.79EF3EF0
Content-Type: application/x-js
Content-Transfer-Encoding: quoted-printable
Content-Location: http://s7.addthis.com/js/152/addthis_widget.js

if (typeof addthis_widget15=3D=3D"undefined"){var =
addthis_widget15=3D'addthis'; var at15O=3D'http://s7.addthis.com/'; var =
at15o=3D'http://s7.addthis.com/services/'; var =
at15Y=3D'http://s7.addthis.com/select/'; var at15y=3Dnew Array( ); =
at15y['ask']=3D['Ask','ask.png']; =
at15y['delicious']=3D['Del.icio.us','delicious.png']; =
at15y['digg']=3D['Digg','digg.png']; =
at15y['email']=3D['Email','email.png']; =
at15y['favorites']=3D['Favorites','favorites.png']; =
at15y['facebook']=3D['Facebook','facebook.gif']; =
at15y['fark']=3D['Fark','fark.png']; =
at15y['furl']=3D['Furl','furl.gif']; =
at15y['google']=3D['Google','goog.png']; =
at15y['live']=3D['Live','live.gif']; =
at15y['myspace']=3D['MySpace','myspace.png']; at15y['myweb']=3D['Yahoo =
MyWeb','yahoo-myweb.png']; =
at15y['newsvine']=3D['Newsvine','newsvine.png']; =
at15y['reddit']=3D['Reddit','reddit.gif']; =
at15y['sk*rt']=3D['Sk*rt','skrt.gif']; =
at15y['slashdot']=3D['Slashdot','slashdot.png']; =
at15y['stumbleupon']=3D['StumbleUpon','su.png']; =
at15y['stylehive']=3D['Stylehive','stylehive.gif']; =
at15y['tailrank']=3D['Tailrank','tailrank2.png']; =
at15y['technorati']=3D['Technorati','technorati.png']; =
at15y['thisnext']=3D['ThisNext','thisnext.gif']; =
at15y['twitter']=3D['Twitter','twitter.gif']; =
at15y['ballhype']=3D['BallHype','ballhype.png']; =
at15y['yardbarker']=3D['Yardbarker','yardbarker.png']; =
at15y['kaboodle']=3D['Kaboodle','kaboodle.gif']; at15y['more']=3D['More =
...','more.gif']; function at15I(at15i){return =
document.getElementById(at15i); }function addthis_clearclosewin15( ){if =
(typeof at15A!=3D"undefined")clearTimeout(at15A); }function =
addthis_open(at15a,at15E,at15e,at15U){addthis_clearclosewin15( ); =
addthis_url=3Dat15e; addthis_title=3Dat15U; if (addthis_url=3D=3D'' || =
addthis_url=3D=3D'[URL]')addthis_url=3Dlocation.href; if =
(addthis_title=3D=3D'' || =
addthis_title=3D=3D'[TITLE]')addthis_title=3Ddocument.title; var =
at15u=3D020; var at15Z=3Dat15a.getElementsByTagName('img'); if (at15Z && =
at15Z[0]){at15a=3Dat15Z[0]; at15u=3D0; }atshow(at15E); var =
at15z=3Dat15X(at15a); var at15x=3Dat15z[0]+addthis_offset_left; var =
at15W=3Dat15z[1]+at15u+1+addthis_offset_top; var at15w=3Dat15V( ); var =
at15v=3Dat15T( ); var at15t=3Dat15I('addthis_dropdown15'); =
at15t.style.display=3D'block'; if =
(at15x-at15v[0]+at15t.clientWidth+024>at15w[0])at15x=3Dat15x-at15t.client=
Width+062; if =
(at15W-at15v[1]+at15t.clientHeight+at15a.clientHeight+024>at15w[1])at15W=3D=
at15W-at15t.clientHeight-024; at15t.style.left=3Dat15x+'px'; =
at15t.style.top=3D(at15W+at15a.clientHeight)+'px'; if =
(addthis_hide_embed){var at15S=3Dat15x+at15t.clientWidth; var =
at15s=3Dat15W+at15t.clientHeight; var =
at15R=3Ddocument.getElementsByTagName('embed'); var =
at15r=3D0,at15Q=3D0,at15q=3D0; for (at15P=3D0; at15P<at15R.length; =
at15P++){at15r=3Dat15X(at15R[at15P]); at15Q=3Dat15r[0]; =
at15q=3Dat15r[1]; if (at15x<at15Q+at15R[at15P].clientWidth && =
at15W<at15q+at15R[at15P].clientHeight){if (at15S>at15Q && =
at15s>at15q){if =
(at15R[at15P].style.visibility!=3D'hidden'){at15R[at15P].at15p=3D true; =
at15R[at15P].style.visibility=3D'hidden'; }}}}}at15N( ); return false; =
}function at15N( ){if (at15n)return; var =
at15M=3Daddthis_options.replace(/\s/g,''); var at15m=3Dat15M.split(','); =
for (var at15P=3D0; at15P<at15m.length; at15P++){var =
at15L=3Dat15m[at15P]; if (at15L in at15y){var =
at15l=3Dat15I('addthis_'+at15L+'15'); if =
(at15l)at15l.src=3Dat15o+at15y[at15L][1]; }}at15n=3D true; }function =
addthis_close( =
){at15A=3DsetTimeout("addthis_closewin15()",0764);}function =
addthis_closewin15( ){var at15t=3Dat15I('addthis_dropdown15'); =
at15t.style.display=3D'none'; var =
at15R=3Ddocument.getElementsByTagName('embed'); if =
(addthis_hide_embed){for (at15P=3D0; at15P<at15R.length; at15P++){if =
(at15R[at15P].at15p)at15R[at15P].style.visibility=3D'visible'; }}return =
false; }function addthis_sendto(at15K){if =
(at15K=3D=3D'email'){atshow(at15K); return false; }addthis_closewin15( =
); if (at15K=3D=3D'favorites'){if =
(document.all)window.external.AddFavorite(addthis_url,addthis_title); =
else window.sidebar.addPanel(addthis_title,addthis_url,''); return =
false; }if (at15K=3D=3D'stumbleupon')at15K=3D'su'; if =
(at15K=3D=3D'sk*rt')at15K=3D'skrt'; =
window.open(at15k(at15K),'addthis','scrollbars=3Dyes,menubar=3Dno,width=3D=
620,height=3D500,resizable=3Dyes,toolbar=3Dno,location=3Dno,status=3Dno')=
; return false; }function at15k(at15K){var =
at15J=3DencodeURIComponent(addthis_url); var =
at15j=3DencodeURIComponent(addthis_title); var =
at15H=3DencodeURIComponent(addthis_logo); return =
'http://www.addthis.com/bookmark.php?v=3D15&winname=3Daddthis&pub=3D'+add=
this_pub+'&s=3D'+at15K+'&url=3D'+at15J+'&title=3D'+at15j+'&logo=3D'+at15H=
+'&logobg=3D'+addthis_logo_background+'&logocolor=3D'+addthis_logo_color;=
 }function at15X(at15h){var at15G=3D0,at15g=3D0; do =
{at15G+=3Dat15h.offsetTop || 0; at15g+=3Dat15h.offsetLeft || 0; =
at15h=3Dat15h.offsetParent; }while (at15h); return [at15g,at15G]; =
}function at15V( ){var at15F=3D0; var at15f=3D0; if =
(typeof(window.innerWidth)=3D=3D'number'){at15F=3Dwindow.innerWidth; =
at15f=3Dwindow.innerHeight; }else if (document.documentElement && =
(document.documentElement.clientWidth || =
document.documentElement.clientHeight)){at15F=3Ddocument.documentElement.=
clientWidth; at15f=3Ddocument.documentElement.clientHeight; }else if =
(document.body && (document.body.clientWidth || =
document.body.clientHeight)){at15F=3Ddocument.body.clientWidth; =
at15f=3Ddocument.body.clientHeight; }return [at15F,at15f]; }function =
at15T( ){var at15D=3D0; var at15d=3D0; if =
(typeof(window.pageYOffset)=3D=3D'number'){at15d=3Dwindow.pageYOffset; =
at15D=3Dwindow.pageXOffset; }else if (document.body && =
(document.body.scrollLeft || =
document.body.scrollTop)){at15d=3Ddocument.body.scrollTop; =
at15D=3Ddocument.body.scrollLeft; }else if (document.documentElement && =
(document.documentElement.scrollLeft || =
document.documentElement.scrollTop)){at15d=3Ddocument.documentElement.scr=
ollTop; at15D=3Ddocument.documentElement.scrollLeft; }return =
[at15D,at15d]; }function at15C( ){var =
at15c=3Ddocument.createElement('link'); at15c.rel=3D'stylesheet'; =
at15c.type=3D'text/css'; at15c.href=3Daddthis_css; at15c.media=3D'all'; =
document.lastChild.firstChild.appendChild(at15c); }function at15B( =
){at15b( ); at15C( ); var at15o0=3D'<div id=3D"addthis_dropdown15" =
onmouseover=3D"addthis_clearclosewin15()" onmouseout=3D"addthis_close()" =
style=3D"z-index: 1000000; position: absolute; display: none">'; =
at15o0+=3D'<table width=3D"100%" cellpadding=3D"2" cellspacing=3D"0" =
style=3D"background-color: #EEEEEE; height: 18px">'; at15o0+=3D'<tr><td =
style=3D"font-size: 12px; color: #666666; padding-left:3px"><span =
id=3D"at_caption">Bookmark&nbsp;&amp;&nbsp;Share</span></td><td =
align=3D"right" style=3D"font-size: 9px; color: #666666; padding-right: =
3px">'+addthis_brand+'</td></tr>'; at15o0+=3D'</table>'; var at15O0=3D =
false; at15o0+=3D'<div id=3D"at_share">'; at15o0+=3D'<table =
id=3D"addthis_services" width=3D"100%" cellpadding=3D"0" =
style=3D"font-family: Verdana, Arial; font-size: 11px">'; =
at15o0+=3D'<tr><td colspan=3D"2" style=3D"height: 0px"></td></tr>'; var =
at15m=3Daddthis_options.split(','); for (var at15P=3D0; =
at15P<at15m.length; at15P++){var at15L=3Dat15m[at15P]; if (at15L in =
at15y){if (!at15O0)at15o0+=3D'<tr>'; at15o0+=3D'\x3ctd width=3D\"50%\" =
style=3D\"height: 19px\">\x3ca href=3D\"/\" onclick=3D\"return =
addthis_sendto(\''+at15L+'\');\">\x3cimg id=3D\"addthis_'+at15L+'15" =
alt=3D"" width=3D"16" height=3D"16" />&nbsp; =
'+at15y[at15L][0]+'</a></td>'; if (at15O0)at15o0+=3D'</tr>'; =
at15O0=3D!at15O0; }}if (at15O0)at15o0+=3D'<td></td></tr>'; =
at15o0+=3D'<tr><td colspan=3D"2" style=3D"height: 2px"></td></tr>'; =
at15o0+=3D'</table>'; at15o0+=3D'\x3c/div>\n'; at15o0+=3D'<div =
id=3D"at_email" style=3D"display: none; font-size: 11px; padding-left: =
20px; padding-top: 6px">'; at15o0+=3D'<table border=3D"0">'; =
at15o0+=3D'<tr><td style=3D"font-size: 12px">To:</td><td><input =
id=3D"at_to" type=3D"text" style=3D"width: 130px; height: 18px; =
font-size: 11px; font-family: Arial; color: #999999" value=3D" email =
address" onfocus=3D"checkto(this)" /></td</tr>'; at15o0+=3D'<tr><td =
style=3D"font-size: 12px">From:</td><td><input id=3D"at_from" =
type=3D"text" style=3D"width: 130px; height: 18px; font-size: 11px; =
font-family: Arial; color: #999999" value=3D" email address" =
onfocus=3D"checkto(this)"/></td</tr>'; at15o0+=3D'<tr><td =
style=3D"font-size: 12px" valign=3D"top">Note:</td><td><textarea =
id=3D"at_msg" style=3D"width: 130px; height: 36px; font-size: 11px; =
font-family: Arial;"/></textarea></td</tr>'; at15o0+=3D'<tr><td =
colspan=3D"2" align=3D"right"><span id=3D"at_success" =
style=3D"font-size: 10px; color: =
#777777;"></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=3D"button" =
value=3D"Send" onclick=3D"return addthis_send()" style=3D"font-size: =
9px"/></td</tr>'; at15o0+=3D'</table>'; at15o0+=3D'\x3c/div>\n'; =
at15o0+=3D'<table width=3D"100%" cellpadding=3D"0" cellspacing=3D"0" =
border=3D"0" style=3D"background-color: #EEEEEE">'; at15o0+=3D'<tr><td =
colspan=3D"2" align=3D"right" style=3D"padding: 0px; padding-right: =
10px; height: 11px"><img id=3D"at_img" src=3D"'+at15Y+'select_load.png" =
style=3D"width: 1px; height: 1px" /><a href=3D"http://www.addthis.com" =
target=3D"_blank" style=3D"height: 6px; padding: 0px"><img =
src=3D"'+at15o+'addthis-mini.gif" border=3D"0" style=3D"padding: 0px; =
width: 50px; height: 9px" alt=3D"" /></a></td></tr>'; =
at15o0+=3D'\x3c/table>\n'; at15o0+=3D'\x3c/div>\n'; =
at15l0=3Ddocument.createElement('div'); at15l0.innerHTML=3Dat15o0; =
document.body.insertBefore(at15l0,document.body.firstChild); =
at15l0.style.zIndex=3D03641100; }function at15b( ){at15n=3D false; if =
(typeof addthis_pub=3D=3D'undefined')addthis_pub=3D''; if (typeof =
at15i0=3D=3D'undefined')at15i0=3D'Bookmark &amp Share'; if (typeof =
addthis_brand=3D=3D'undefined')addthis_brand=3D''; if (typeof =
addthis_logo=3D=3D'undefined')addthis_logo=3D''; if (typeof =
addthis_logo_background=3D=3D'undefined')addthis_logo_background=3D''; =
if (typeof addthis_logo_color=3D=3D'undefined')addthis_logo_color=3D''; =
if (typeof =
addthis_options=3D=3D'undefined')addthis_options=3D'favorites, digg, =
delicious, google, myspace, facebook, reddit, newsvine, live, more'; if =
(typeof addthis_offset_top!=3D'number')addthis_offset_top=3D0; if =
(typeof addthis_offset_left!=3D'number')addthis_offset_left=3D0; if =
(typeof =
addthis_caption_share=3D=3D'undefined')addthis_caption_share=3D'Bookmark =
&amp; Share'; if (typeof =
addthis_caption_email=3D=3D'undefined')addthis_caption_email=3D'Email a =
Friend'; if (typeof =
addthis_css=3D=3D'undefined')addthis_css=3Dat15O+'css/152/addthis_widget.=
css'; if (typeof =
addthis_hide_embed=3D=3D'undefined')addthis_hide_embed=3D true; =
addthis_options=3Daddthis_options.replace(/\s/g,''); }function =
atshow(at15I0){var at15o1=3Dat15I('at_share'); var =
at15O1=3Dat15I('at_email'); var at15l1=3Dat15I('at_caption'); var =
at15i1=3Dat15I('at_success'); at15o1.style.display=3D'none'; =
at15O1.style.display=3D'none'; at15i1.innerHTML=3D''; if =
(at15I0=3D=3D'share' || at15I0=3D=3D''){at15o1.style.display=3D'block'; =
at15l1.innerHTML=3Daddthis_caption_share; }else =
{at15O1.style.display=3D'block'; =
at15l1.innerHTML=3Daddthis_caption_email; }}function addthis_send( ){var =
at15I1=3Dat15I('at_from'); var at15o2=3Dat15I('at_to'); var =
at15O2=3Dat15I('at_img'); var at15i1=3Dat15I('at_success'); var =
at15l2=3Dat15I('at_msg'); if (at15I1.value.indexOf('@')<0 || =
at15o2.value.indexOf('@')<0 || at15I1.value.indexOf('.')<0 || =
at15o2.value.indexOf('.')<0){alert('Please enter a valid email =
address!'); return; }at15i2=3DMath.random( ); =
at15I2=3D'http://www.addthis.com/tellfriend.php?pub=3D'+encodeURIComponen=
t(addthis_pub)+'&url=3D'+encodeURIComponent(addthis_url)+'&fromname=3Daaa=
&fromemail=3D'+encodeURIComponent(at15I1.value)+'&tofriend=3D'+encodeURIC=
omponent(at15o2.value)+'&note=3D'+encodeURIComponent(at15l2.value)+'&r=3D=
'+at15i2; at15O2.src=3Dat15I2; at15i1.innerHTML=3D'Message Sent!'; =
at15A=3DsetTimeout("addthis_closewin15()",02260); return false; =
}function checkto(at15o3){at15o3.style.color=3D'#000000'; if =
(at15o3.value=3D=3D' email address')at15o3.value=3D''; }at15B( ); }

------=_NextPart_000_0000_01C8B1D2.79EF3EF0
Content-Type: application/x-js
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.oracle.com/technology/admin/jscripts/s_code_remote.js

/************************ ADDITIONAL FEATURES ************************
     Plugins
*/
/************************** CONFIG SECTION **************************/
/* You may add or alter any code config here.                       */

/* Specify the Report Suite ID(s) to track here */
var s_account=3D"oracleotnlive,oracleglobal"

/* E-commerce Config */
var s_currencyCode=3D"USD"
var s_eVarCFG=3D""
/* Link Tracking Config */
var s_trackDownloadLinks=3Dtrue
var s_trackExternalLinks=3Dtrue
var s_trackInlineStats=3Dtrue
var =
s_linkDownloadFileTypes=3D"exe,zip,wav,mp3,mov,mpg,avi,doc,pdf,xls,bat,bi=
n,brk,cpio,dll,dmg,gz,jar,rm,rpm,sh,so,tar,tgz,z,smil,swf,wmv,wma,xml"
var s_linkInternalFilters=3D"javascript:,otn,oracle,technet.oracle.com"
var s_linkLeaveQueryString=3Dtrue
var s_linkTrackVars=3D"None"
var s_linkTrackEvents=3D"None"

/* get the base URL - minus query string - for use below */
/* use the pageName instead if it has been defined       */
var =
baseURL=3DdecodeURI(location.protocol+"//"+location.hostname+location.pat=
hname.replace(/\/index\.html$/,""));
var s_pageName;
if (s_pageName){baseURL=3Ds_pageName}
/* create an array of events - for use below                   */
/* include any events that might already have been set on page */
var a_events =3D new Array();
var s_events;
if (s_events){a_events.push(s_events.split(","))}

/* Plugin Config */
var s_usePlugins=3Dtrue
function s_doPlugins() {

   /* track RSS click-throughs */
   /* ------------------------ */
   var rssid =3D getQV('rssid');
   if (rssid){
      s_eVar2 =3D rssid;
      s_eVar3 =3D rssid+": "+baseURL;
      a_events.push('event4');
   }

   /* track eBlast click-throughs */
   /* --------------------------- */
   var msgid =3D getQV('msgid');
   if (msgid){
      s_eVar4 =3D msgid;
      s_eVar5 =3D msgid+": "+baseURL;
      a_events.push('event5');
   }

   /* track Paid Search click-throughs */
   /* -------------------------------- */
   var sckw =3D getQV('sckw');
   if (sckw){
      s_eVar6 =3D sckw;
      s_eVar7 =3D sckw+": "+baseURL;
      a_events.push('event6');
   }

   /* track page region activity  */
   /* --------------------------- */
   var pageregion =3D getQV('pageregion');
   if (pageregion){
      s_prop8 =3D pageregion;
   }

   /* track campaign activity  */
   /* ------------------------ */
   var sccid =3D getQV('sccid');
   if (sccid){
      s_campaign =3D sccid;
   }

   /* pass all events             */
   /* --------------------------- */
   s_events =3D a_events.join();
}

/************************** PLUGINS SECTION *************************/
/* You may insert any plugins you wish to use here.                 */

/* Function: unset_sc_vars() - Calling this function will unset all=20
   custom SiteCatalyst variables.  Note that we're currently unsetting
   props and eVars up to 10; it may be neccessary to add to this list.
   This function is meant to be used in tandem with s_gs() when tracking
   download onClick events.
*/
function unset_sc_vars() {
   =
s_pageName=3D'';s_channel=3D'';s_events=3D'';s_campaign=3D'';s_prop0=3D''=
;
   =
s_prop1=3D'';s_prop2=3D'';s_prop3=3D'';s_prop4=3D'';s_prop5=3D'';s_prop6=3D=
'';
   =
s_prop7=3D'';s_prop8=3D'';s_prop9=3D'';s_prop10=3D'';s_eVar1=3D'';s_eVar2=
=3D'';
   =
s_eVar3=3D'';s_eVar4=3D'';s_eVar5=3D'';s_eVar6=3D'';s_eVar7=3D'';s_eVar8=3D=
'';
   s_eVar9=3D'';s_eVar10=3D'';
}
/* Function: getQV(variable) - Given a query string key, returns the =
corresponding=20
   query string value.  Case-insensitive.=20
*/
function getQV(variable) {
  var query =3D window.location.search.substring(1);
  var vars =3D query.split("&");
  for (var i=3D0;i<vars.length;i++) {
    var pair =3D vars[i].split("=3D");
    if (pair[0].toLowerCase() =3D=3D variable.toLowerCase()) {
      return pair[1];
    }
  }=20
}
/*
 * Function: sendAnalyticsEvent() - increments the total page views for =
the site
 */
function sendAnalyticsEvent(accnt){
accnt=3Daccnt?accnt:s_account;void(s_gs(accnt))}
/*
 * Function: sendLinkEvent() - Record individual link hits
 */
function sendLinkEvent(accnt,lnkname,type){
accnt=3Daccnt?accnt:s_account;s_linkType=3Dtype?type:"o";s_lnk=3Dtrue;
s_linkName=3Dlnkname?lnkname:s_linkName?s_linkName:"Default Link Event";
void(s_gs(accnt))}
/*
 * Plugin: Get Plugin Modified Value
 */
function s_vp_getValue(vs)
	{var k=3Dvs.substring(0,2)=3D=3D's_'?vs.substring(2):vs;return s_wd[
	's_vpm_'+k]?s_wd['s_vpv_'+k]:s_gg(k)}
/*
 * Plugin: Get Query String CGI Variable Value
 */
function s_vp_getCGI(vs,k)
	{var v=3D'';if(k&&s_wd.location.search){var q=3Ds_wd.location.search,
	qq=3Dq.indexOf('?');q=3Dqq<0?q:q.substring(qq+1);v=3Ds_pt(q,'&',s_cgif,
	k)}s_vpr(vs,v)}function s_cgif(t,k){if(t){var te=3Dt.indexOf('=3D'),
	sk=3Dte<0?t:t.substring(0,te),sv=3Dte<0?'True':t.substring(te+1);if(
	sk=3D=3Dk)return s_epa(sv)}return ''}
/*
 * Plugin Utilities v2.0 (Required For All Plugins)
 */
function s_vpr(vs,v){if(s_wd[vs])s_wd[vs]=3Ds_wd[vs];else s_wd[vs]=3D''
if(vs.substring(0,2) =3D=3D =
's_')vs=3Dvs.substring(2);s_wd['s_vpv_'+vs]=3Dv
s_wd['s_vpm_'+vs]=3D1}function s_dt(tz,t){var d=3Dnew =
Date;if(t)d.setTime(
t);d=3Dnew Date(d.getTime()+(d.getTimezoneOffset()*60*1000))
return new Date(Math.floor(d.getTime()+(tz*60*60*1000)))}
function s_vh_gt(k,v){var =
vh=3D'|'+s_c_r('s_vh_'+k),vi=3Dvh.indexOf('|'+v
+'=3D'),ti=3Dvi<0?vi:vi+2+v.length,pi=3Dvh.indexOf('|',ti),t=3Dti<0?'':
vh.substring(ti,pi<0?vh.length:pi);return t}function s_vh_gl(k){var
vh=3Ds_c_r('s_vh_'+k),e=3Dvh?vh.indexOf('=3D'):0;return =
vh?(vh.substring(0,
e?e:vh.length)):''}function s_vh_s(k,v){if(k&&v){var e=3Dnew Date,st=3D
e.getTime(),y=3De.getYear(),c=3D's_vh_'+k,vh=3D'|'+s_c_r(c)+'|',t=3Ds_vh_=
gt(k,
v);e.setYear((y<1900?y+1900:y)+5);if(t)vh=3Ds_rep(vh,'|'+v+'=3D'+t+'|','|=
'
);if(vh.substring(0,1)=3D=3D'|')vh=3Dvh.substring(1);if(vh.substring(
vh.length-1,vh.length)=3D=3D'|')vh=3Dvh.substring(0,vh.length-1);vh=3Dv
+'=3D[PCC]'+(vh?'|'+vh:'');s_c_w(c,vh,e);if(s_vh_gt(k,v)!=3D'[PCC]')
return 0;vh=3Ds_rep(vh,'[PCC]',st);s_c_w(c,vh,e)}return 1}

/************* DO NOT ALTER ANYTHING BELOW THIS LINE ! **************/
var =
s_un,s_ios=3D0,s_q=3D'',s_code=3D'',code=3D'',s_bcr=3D0,s_lnk=3D'',s_eo=3D=
'',
s_vb,s_pl,s_tfs=3D0,s_etfs=3D0,s_wd=3Dwindow,s_d=3Ds_wd.document,s_ssl=3D=
(
s_wd.location.protocol.toLowerCase().indexOf('https')>=3D0),s_n=3D
navigator,s_u=3Ds_n.userAgent,s_apn=3Ds_n.appName,s_v=3Ds_n.appVersion,
s_apv,s_i,s_ie=3Ds_v.indexOf('MSIE '),s_ns6=3Ds_u.indexOf('Netscape6/')
if(s_v.indexOf('Opera')>=3D0||s_u.indexOf('Opera')>=3D0)s_apn=3D'Opera';v=
ar
s_isie=3D(s_apn=3D=3D'Microsoft Internet =
Explorer'),s_isns=3D(s_apn=3D=3D
'Netscape'),s_isopera=3D(s_apn=3D=3D'Opera'),s_ismac=3D(s_u.indexOf('Mac'=
)>=3D0)
if(s_ie>0){s_apv=3DparseInt(s_i=3Ds_v.substring(s_ie+5));if(s_apv>3)s_apv=
=3D
parseFloat(s_i)}else if(s_ns6>0)s_apv=3DparseFloat(s_u.substring(s_ns6
+10));else s_apv=3DparseFloat(s_v);function s_fl(s,l){return (s+''
).substring(0,l)}function s_co(o){if(!o)return o;var n=3Dnew Object,x
for(x in o)if(x.indexOf("select")<0&&x.indexOf("filter")<0)n[x]=3Do[x]
return n}function s_num(x){var s=3Dx.toString(),g=3D'0123456789',p,d
for(p=3D0;p<s.length;p++){d=3Ds.substring(p,p+1);if(g.indexOf(d)<0)
return 0}return 1}function s_rep(s,o,n){var =
i=3Ds.indexOf(o),l=3Dn.length>
0?n.length:1;while(s&&i>=3D0){s=3Ds.substring(0,i)+n+s.substring(i
+o.length);i=3Ds.indexOf(o,i+l)}return s}function s_ape(s){return s?
s_rep(escape(''+s),'+','%2B'):s}function s_epa(s){return s?unescape(
s_rep(''+s,'+',' ')):s}function s_pt(s,d,f,a){var =
t=3Ds,x=3D0,y,r;while(t)
{y=3Dt.indexOf(d);y=3Dy<0?t.length:y;t=3Dt.substring(0,y);r=3Df(t,a);if(r=
)
return =
r;x+=3Dy+d.length;t=3Ds.substring(x,s.length);t=3Dx<s.length?t:''}
return ''}function =
s_isf(t,a){if(t.substring(0,2)=3D=3D's_')t=3Dt.substring(
2);return (t!=3D''&&t=3D=3Da)}function =
s_fsf(t,a){if(s_pt(a,',',s_isf,t))
s_fsg+=3D(s_fsg!=3D''?',':'')+t;return 0}var s_fsg;function s_fs(s,f){
s_fsg=3D'';s_pt(s,',',s_fsf,f);return s_fsg}var s_c_d=3D''
function s_c_gdf(t,a){if(!s_num(t))return 1;return 0}function s_c_gd()
{var d=3Ds_wd.location.hostname,n=3Ds_gg('cookieDomainPeriods'),p;if(d&&
!s_c_d){n=3Dn?parseInt(n):2;n=3Dn>2?n:2;p=3Dd.lastIndexOf('.');while(p>=3D=
0&&
n>1){p=3Dd.lastIndexOf('.',p-1);n--}s_c_d=3Dp>0&&s_pt(d,'.',s_c_gdf,0)?
d.substring(p):''}return s_c_d}function s_c_r(k){k=3Ds_ape(k);var c=3D' =
'
+s_d.cookie,s=3Dc.indexOf(' =
'+k+'=3D'),e=3Ds<0?s:c.indexOf(';',s),v=3Ds<0?'':
s_epa(c.substring(s+2+k.length,e<0?c.length:e));return v!=3D'[[B]]'?v:''
}function s_c_w(k,v,e){var =
d=3Ds_c_gd(),l=3Ds_gg('cookieLifetime'),s;v=3D''
+v;l=3Dl?(''+l).toUpperCase():'';if(e&&l!=3D'SESSION'&&l!=3D'NONE'){s=3D(=
v!=3D
''?parseInt(l?l:0):-60);if(s){e=3Dnew Date;e.setTime(e.getTime()+(s*1000
))}}if(k&&l!=3D'NONE'){s_d.cookie=3Dk+'=3D'+s_ape(v!=3D''?v:'[[B]]')+'; =
'
+'path=3D/;'+(e&&l!=3D'SESSION'?' =
expires=3D'+e.toGMTString()+';':'')+(d?
' domain=3D'+d+';':'');return s_c_r(k)=3D=3Dv}return 0}function =
s_cet(f,a,
et,oe,fb){var r,d=3D0
/*@cc_on@if(@_jscript_version>=3D5){try{return f(a)}catch(e){return =
et(e)}d=3D1}@end@*/
if(!d){if(s_ismac&&s_u.indexOf('MSIE 4')>=3D0)return fb(a);else{
s_wd.s_oe=3Ds_wd.onerror;s_wd.onerror=3Doe;r=3Df(a);s_wd.onerror=3Ds_wd.s=
_oe
return r}}}function s_gtfset(e){return s_tfs}function s_gtfsoe(e){
s_wd.onerror=3Ds_wd.s_oe;s_etfs=3D1;var =
code=3Ds_gs(s_un);if(code)s_d.write(
code);s_etfs=3D0;return true}function s_gtfsfb(a){return s_wd}
function s_gtfsf(w){var p=3Dw.parent,l=3Dw.location;s_tfs=3Dw;if(p&&
p.location!=3Dl&&p.location.host=3D=3Dl.host){s_tfs=3Dp;return =
s_gtfsf(s_tfs)}
return s_tfs}function =
s_gtfs(){if(!s_tfs){s_tfs=3Ds_wd;if(!s_etfs)s_tfs=3D
s_cet(s_gtfsf,s_tfs,s_gtfset,s_gtfsoe,s_gtfsfb)}return s_tfs}
function s_ca(un){un=3Dun.toLowerCase();var =
ci=3Dun.indexOf(','),fun=3Dci<0?
un:un.substring(0,ci),imn=3D's_i_'+fun;if(s_d.images&&s_apv>=3D3&&
!s_isopera&&(s_ns6<0||s_apv>=3D6.1)){s_ios=3D1;if(!s_d.images[imn]&&(
!s_isns||(s_apv<4||s_apv>=3D5))){s_d.write('<im'+'g name=3D"'+imn
+'" height=3D1 width=3D1 border=3D0 =
alt=3D"">');if(!s_d.images[imn])s_ios=3D0}}}
function s_it(un){s_ca(un)}function s_mr(un,sess,q,ta){un=3D
un.toLowerCase();var =
ci=3Dun.indexOf(','),fun=3Dci<0?un:un.substring(0,ci
),unc=3Ds_rep(fun,'_','-'),imn=3D's_i_'+fun,im,b,e,rs=3D'http'+(s_ssl?'s'=
:''
)+'://'+(s_ssl?'102':unc)+'.112.2O7.net/b/ss/'+un+'/1/G.7-Pd-R/'
+sess+'?[AQB]&ndh=3D1'+(q?q:'')+(s_q?s_q:'')+'&[AQE]';if(s_ios){im=3Ds_wd=
[
imn]?s_wd[imn]:s_d.images[imn];if(!im)im=3Ds_wd[imn]=3Dnew =
Image;im.src=3Drs
if(rs.indexOf('&pe=3D')>=3D0&&(!ta||ta=3D=3D'_self'||ta=3D=3D'_top'||(s_w=
d.name&&
ta=3D=3Ds_wd.name))){b=3De=3Dnew =
Date;while(e.getTime()-b.getTime()<500)e=3D
new Date}return ''}return '<im'+'g sr'+'c=3D"'+rs
+'" width=3D1 height=3D1 border=3D0 alt=3D"">'}function s_gg(v){var =
g=3D's_'+v
return s_wd[g]||s_wd.s_disableLegacyVars?s_wd[g]:s_wd[v]}var s_qav=3D''
function s_havf(t,a){var b=3Dt.substring(0,4),s=3Dt.substring(4),n=3D
parseInt(s),k=3D's_g_'+t,m=3D's_vpm_'+t,q=3Dt,v=3Ds_gg('linkTrackVars'),e=
=3D
s_gg('linkTrackEvents');if(!s_wd['s_'+t])s_wd['s_'+t]=3D'';s_wd[k]=3Ds_wd=
[
m]?s_wd['s_vpv_'+t]:s_gg(t);if(s_lnk||s_eo){v=3Dv?v+',pageName,pageURL,'
+'referrer,charSet,cookieDomainPeriods,cookieLifetime,currencyCode,pu'
+'rchaseID':'';if(v&&!s_pt(v,',',s_isf,t))s_wd[k]=3D'';if(t=3D=3D'events'=
&&e
)s_wd[k]=3Ds_fs(s_wd[k],e)}s_wd[m]=3D0;if(t=3D=3D'pageURL')q=3D'g';else =
if(t=3D=3D
'referrer')q=3D'r';else if(t=3D=3D'charSet')q=3D'ce';else if(t=3D=3D
'cookieDomainPeriods')q=3D'cdp';else if(t=3D=3D'cookieLifetime')q=3D'cl'
else if(t=3D=3D'currencyCode')q=3D'cc';else =
if(t=3D=3D'channel')q=3D'ch';else if(
t=3D=3D'campaign')q=3D'v0';else =
if(s_num(s)){if(b=3D=3D'prop')q=3D'c'+n;else if(
b=3D=3D'eVar')q=3D'v'+n;else =
if(b=3D=3D'hier')q=3D'h'+n}if(s_wd[k]&&t!=3D
'linkName'&&t!=3D'linkType')s_qav+=3D'&'+q+'=3D'+s_ape(s_wd[k]);return =
''}
function s_hav(){var n,av=3D'charSet,cookieDomainPeriods,cookieLifetime'
+',pageName,pageURL,referrer,channel,server,pageType,campaign,state,z'
+'ip,events,products,currencyCode,purchaseID,linkName,linkType'
for(n=3D1;n<26;n++)av+=3D',prop'+n+',eVar'+n+',hier'+n;s_qav=3D'';s_pt(av=
,
',',s_havf,0);return s_qav}function s_lnf(t,h){t=3Dt?t.toLowerCase():''
h=3Dh?h.toLowerCase():'';var =
te=3Dt.indexOf('=3D');if(t&&te>0&&h.indexOf(
t.substring(te+1))>=3D0)return t.substring(0,te);return ''}
function s_ln(h){if(s_gg('linkNames'))return s_pt(s_gg('linkNames'),
',',s_lnf,h);return ''}function =
s_ltdf(t,h){t=3Dt?t.toLowerCase():'';h=3D
h?h.toLowerCase():'';var =
qi=3Dh.indexOf('?');h=3Dqi>=3D0?h.substring(0,qi):h
if(t&&h.substring(h.length-(t.length+1))=3D=3D'.'+t)return 1;return 0}
function =
s_ltef(t,h){t=3Dt?t.toLowerCase():'';h=3Dh?h.toLowerCase():'';if(
t&&h.indexOf(t)>=3D0)return 1;return 0}function s_lt(h){var lft=3Ds_gg(
'linkDownloadFileTypes'),lef=3Ds_gg('linkExternalFilters'),lif=3Ds_gg(
'linkInternalFilters')?s_gg('linkInternalFilters'):
s_wd.location.hostname;h=3Dh.toLowerCase();if(s_gg('trackDownloadLinks'
)&&lft&&s_pt(lft,',',s_ltdf,h))return 'd';if(s_gg('trackExternalLinks'
)&&(lef||lif)&&(!lef||s_pt(lef,',',s_ltef,h))&&(!lif||!s_pt(lif,',',
s_ltef,h)))return 'e';return ''}function s_lc(e){s_lnk=3Ds_co(this)
s_gs('');s_lnk=3D'';if(this.s_oc)return this.s_oc(e);return true}
function s_ls(){var l,ln,oc;for(ln=3D0;ln<s_d.links.length;ln++){l=3D
s_d.links[ln];oc=3Dl.onclick?l.onclick.toString():'';if(oc.indexOf(
"s_gs(")<0&&oc.indexOf("s_lc(")<0){l.s_oc=3Dl.onclick;l.onclick=3Ds_lc}}}=

function s_bc(e){s_eo=3De.srcElement?e.srcElement:e.target;s_gs('')
s_eo=3D''}function s_ot(o){var a=3Do.type,b=3Do.tagName;return (a&&
a.toUpperCase?a:b&&b.toUpperCase?b:o.href?'A':'').toUpperCase()}
function s_oid(o){var =
t=3Ds_ot(o),p=3Do.protocol,c=3Do.onclick,n=3D'',x=3D0;if(
!o.s_oid){if(o.href&&(t=3D=3D'A'||t=3D=3D'AREA')&&(!c||!p||p.toLowerCase(=

).indexOf('javascript')<0))n=3Do.href;else if(c){n=3Ds_rep(s_rep(s_rep(
s_rep(c.toString(),"\r",''),"\n",''),"\t",''),' ','');x=3D2}else if(
o.value&&(t=3D=3D'INPUT'||t=3D=3D'SUBMIT')){n=3Do.value;x=3D3}else =
if(o.src&&t=3D=3D
'IMAGE')n=3Do.src;if(n){o.s_oid=3Ds_fl(n,100);o.s_oidt=3Dx}}return =
o.s_oid}
function s_rqf(t,un){var =
e=3Dt.indexOf('=3D'),u=3De>=3D0?','+t.substring(0,e)
+',':'';return u&&u.indexOf(','+un+',')>=3D0?s_epa(t.substring(e+1)):''}
function s_rq(un){var =
c=3Dun.indexOf(','),v=3Ds_c_r('s_sq'),q=3D'';if(c<0)
return s_pt(v,'&',s_rqf,un);return s_pt(un,',',s_rq,0)}var s_sqq,s_squ
function s_sqp(t,a){var =
e=3Dt.indexOf('=3D'),q=3De<0?'':s_epa(t.substring(e
+1));s_sqq[q]=3D'';if(e>=3D0)s_pt(t.substring(0,e),',',s_sqs,q);return =
0}
function s_sqs(un,q){s_squ[un]=3Dq;return 0}function s_sq(un,q){s_sqq=3D
new Object;s_squ=3Dnew Object;s_sqq[q]=3D'';var =
k=3D's_sq',v=3Ds_c_r(k),x,c=3D0
s_pt(v,'&',s_sqp,0);s_pt(un,',',s_sqs,q);v=3D'';for(x in s_squ)s_sqq[
s_squ[x]]+=3D(s_sqq[s_squ[x]]?',':'')+x;for(x in s_sqq)if(x&&s_sqq[x]&&(
x=3D=3Dq||c<2)){v+=3D(v?'&':'')+s_sqq[x]+'=3D'+s_ape(x);c++}return =
s_c_w(k,v,0
)}function s_wdl(e){s_wd.s_wd_l=3D1;var =
r=3Dtrue;if(s_wd.s_ol)r=3Ds_wd.s_ol(
e);if(s_wd.s_ls)s_wd.s_ls();return r}function s_wds(un){un=3D
un.toLowerCase();s_wd.s_wd_l=3D1;if(s_apv>3&&(!s_isie||!s_ismac||s_apv>=3D=

5)){s_wd.s_wd_l=3D0;if(!s_wd.s_unl)s_wd.s_unl=3Dnew Array;s_wd.s_unl[
s_wd.s_unl.length]=3Dun;if(s_d.body&&s_d.body.attachEvent){if(
!s_wd.s_bcr&&s_d.body.attachEvent('onclick',s_bc))s_wd.s_bcr=3D1}
else if(s_d.body&&s_d.body.addEventListener){if(!s_wd.s_bcr&&
s_d.body.addEventListener('click',s_bc,false))s_wd.s_bcr=3D1}else{var
ol=3Ds_wd.onload?s_wd.onload.toString():'';if(ol.indexOf("s_wdl(")<0){
s_wd.s_ol=3Ds_wd.onload;s_wd.onload=3Ds_wdl}}}}function s_iepf(i,a){if(
i.substring(0,1)!=3D'{')i=3D'{'+i+'}';if(s_d.body.isComponentInstalled(i,=

'ComponentID')){var n=3Ds_pl.length;s_pl[n]=3Dnew =
Object;s_pl[n].name=3Di
+':'+s_d.body.getComponentVersion(i,'ComponentID')}return 0}
function s_vs(un,x){var s=3Ds_gg('visitorSampling'),g=3Ds_gg(
'visitorSamplingGroup'),k=3D's_vsn_'+un+(g?'_'+g:''),n=3Ds_c_r(k),e=3D
new Date,y=3De.getYear();e.setYear(y+10+(y<1900?1900:0));if(s){s*=3D100
if(!n){if(!s_c_w(k,x,e))return 0;n=3Dx}if(n%10000>s)return 0}return 1}
function s_gs(un){un=3Dun.toLowerCase()
s_un=3Dun;var trk=3D1,tm=3Dnew Date,sed=3DMath&&Math.random?Math.floor(
Math.random()*10000000000000):tm.getTime(),sess=3D's'+Math.floor(
tm.getTime()/10800000)%10+sed,yr=3Dtm.getYear(),tfs=3Ds_gtfs(),t,ta=3D'',=
q=3D
'',qs=3D'';yr=3Dyr<1900?yr+1900:yr;t=3Dtm.getDate()+'/'+tm.getMonth()+'/'=
+yr
+' '+tm.getHours()+':'+tm.getMinutes()+':'+tm.getSeconds()+' '
+tm.getDay()+' '+tm.getTimezoneOffset();if(!s_q){var tl=3Dtfs.location,
s=3D'',c=3D'',v=3D'',p=3D'',bw=3D'',bh=3D'',j=3D'1.0',k=3Ds_c_w('s_cc','t=
rue',0)?'Y':
'N',hp=3D'',ct=3D'',iepl=3Ds_gg('iePlugins'),pn=3D0,ps;if(s_apv>=3D4)s=3D=

screen.width+'x'+screen.height;if(s_isns||s_isopera){if(s_apv>=3D3){j=3D
'1.1';v=3Ds_n.javaEnabled()?'Y':'N';if(s_apv>=3D4){j=3D'1.2';c=3D
screen.pixelDepth;bw=3Ds_wd.innerWidth;bh=3Ds_wd.innerHeight;if(s_apv>=3D=

4.06)j=3D'1.3'}}s_pl=3Ds_n.plugins}else if(s_isie){if(s_apv>=3D4){v=3D
s_n.javaEnabled()?'Y':'N';j=3D'1.2';c=3Dscreen.colorDepth;if(s_apv>=3D5){=
bw=3D
s_d.documentElement.offsetWidth;bh=3Ds_d.documentElement.offsetHeight;j=3D=

'1.3';if(!s_ismac&&s_d.body){s_d.body.addBehavior("#default#homePage")
hp=3Ds_d.body.isHomePage(tl)?"Y":"N";s_d.body.addBehavior(
"#default#clientCaps");ct=3Ds_d.body.connectionType;if(iepl){s_pl=3D
new Array;s_pt(iepl,',',s_iepf,'');}}}}else =
r=3D'';if(!s_pl&&iepl)s_pl=3D
s_n.plugins}if(s_pl)while(pn<s_pl.length&&pn<30){ps=3Ds_fl(s_pl[pn
].name,100)+';';if(p.indexOf(ps)<0)p+=3Dps;pn++}s_q=3D(s?'&s=3D'+s_ape(s)=
:''
)+(c?'&c=3D'+s_ape(c):'')+(j?'&j=3D'+j:'')+(v?'&v=3D'+v:'')+(k?'&k=3D'+k:=
'')+(
bw?'&bw=3D'+bw:'')+(bh?'&bh=3D'+bh:'')+(ct?'&ct=3D'+s_ape(ct):'')+(hp?'&h=
p=3D'
+hp:'')+(s_vb?'&vb=3D'+s_vb:'')+(p?'&p=3D'+s_ape(p):'')}if(s_gg(
'usePlugins'))s_wd.s_doPlugins();var l=3Ds_wd.location,r=3D
tfs.document.referrer;if(!s_gg("pageURL"))s_wd.s_pageURL=3Ds_fl(l?l:'',
255);if(!s_gg("referrer"))s_wd.s_referrer=3Ds_fl(r?r:'',255);q+=3D(t?'&t=3D=
'
+s_ape(t):'')+s_hav();if(s_lnk||s_eo){var o=3Ds_eo?s_eo:s_lnk;if(!o)
return '';var =
p=3Ds_wd.s_g_pageName,w=3D1,t=3Ds_ot(o),n=3Ds_oid(o),x=3Do.s_oidt,
h,l,i,oc;if(s_eo&&o=3D=3Ds_eo){while(o&&!n&&t!=3D'BODY'){o=3Do.parentElem=
ent?
o.parentElement:o.parentNode;if(!o)return =
'';t=3Ds_ot(o);n=3Ds_oid(o);x=3D
o.s_oidt}oc=3Do.onclick?o.onclick.toString():'';if(oc.indexOf("s_gs(")>=3D=

0)return =
''}ta=3Do.target;h=3Do.href?o.href:'';i=3Dh.indexOf('?');h=3Ds_gg(
'linkLeaveQueryString')||i<0?h:h.substring(0,i);l=3Ds_gg('linkName')?
s_gg('linkName'):s_ln(h);t=3Ds_gg('linkType')?s_gg('linkType'
).toLowerCase():s_lt(h);if(t&&(h||l))q+=3D'&pe=3Dlnk_'+(t=3D=3D'd'||t=3D=3D=
'e'?
s_ape(t):'o')+(h?'&pev1=3D'+s_ape(h):'')+(l?'&pev2=3D'+s_ape(l):'');else
trk=3D0;if(s_gg('trackInlineStats')){if(!p){p=3Ds_wd.s_g_pageURL;w=3D0}t=3D=

s_ot(o);i=3Do.sourceIndex;if(s_gg('objectID')){n=3Ds_gg('objectID');x=3D1=
;i=3D
1}if(p&&n&&t)qs=3D'&pid=3D'+s_ape(s_fl(p,255))+(w?'&pidt=3D'+w:'')+'&oid=3D=
'
+s_ape(s_fl(n,100))+(x?'&oidt=3D'+x:'')+'&ot=3D'+s_ape(t)+(i?'&oi=3D'+i:'=
')}
s_wd.s_linkName=3Ds_wd.s_linkType=3Ds_wd.s_objectID=3Ds_lnk=3Ds_eo=3D'';i=
f(
!s_wd.s_disableLegacyVars)s_wd.linkName=3Ds_wd.linkType=3Ds_wd.objectID=3D=
''
}if(!trk&&!qs)return '';var =
code=3D'';if(un){if(trk&&s_vs(un,sed))code+=3D
s_mr(un,sess,q+(qs?qs:s_rq(un)),ta);s_sq(un,trk?'':qs)}else if(
s_wd.s_unl)for(var unn=3D0;unn<s_wd.s_unl.length;unn++){un=3Ds_wd.s_unl[
unn];if(trk&&s_vs(un,sed))code+=3Ds_mr(un,sess,q+(qs?qs:s_rq(un)),ta)
s_sq(un,trk?'':qs)}return code}function s_dc(un){un=3Dun.toLowerCase()
s_wds(un);s_ca(un);return s_gs(un)}
s_code=3Ds_dc(s_account);if(s_code)s_d.write(s_code)

------=_NextPart_000_0000_01C8B1D2.79EF3EF0--
